본문 바로가기
728x90
반응형

전체 글313

[Network] Link layer, error detection (parity, CRC) link layer service link layer에서는 다음과 같은 서비스들을 제공한다. framing, link access 데이터그램에 header, trailer를 붙여서 프레임으로 만든다. header에 MAC 주소를 사용하여 source, destination을 식별한다. reliable delivery between adjacent nodes low bit-error link (fiber, twisted pair) : 에러 비율이 낮다. wireless link : 에러 비율이 높다. 이 외에도 flow control, error detection, error correction, half-duplex, full-duplex와 같은 서비스들을 제공한다. link layer가 동작하는 위치 .. 2023. 6. 22.
[OS] 페이징(paging)과 세그먼테이션(segmentation) 프로그램은 실행 전 변수와 같은 기호 주소를 실제 주소로 바인딩 해야한다. 바인딩은 컴파일, 메모리 적재, 실행 시간 등에 바인딩 될 수 있다. 현재는 대부분 실행 시간에 기호 주소를 실제 주소로 바인딩한다. 컴파일, 적재 시간 바인딩과 달리 실행 시간 바인딩은 논리적 주소와 물리적 주소가 다르다. 논리적 주소와 물리적 주소는 서로 매핑되는데 이러한 매핑은 MMU(Memory Managerment Unit)에 의해 이루어진다. 동적 적재 초창기에는 모든 프로그램을 주기억장치에 적재하는 정적 적재(static loading)를 사용했다. 그런데 정적 적재는 메모리의 용량이 부족해질 수 있는 문제가 있다. 이러한 문제는 루틴이 호출될 때 해당 루틴을 주기억장치에 적재하는 동적 적재(dynamic loadin.. 2023. 6. 20.
[OS] 교착 상태 (deadlock) 시스템에는 유한 개의 자원이 존재하고 프로세스는 이 자원을 사용한다. 자원을 사용하기 위해 프로세스는 자원을 요청하고 사용하고 해제한다. 만약 사용하려는 자원이 이미 다른 프로세스에 의해 사용 중이라면 대기 상태에 들어간다. 그런데 어떤 집합의 모든 프로세스가 자원을 할당받기를 기다리고 있고 각 프로세스가 이 집합의 어떤 프로세스가 소유 중인 자원을 할당받기를 기다리고 있다면 이를 교착 상태(deadlock)에 있다고 한다. 교착 상태는 다음과 같은 4가지 조건을 만족해야 교착 상태라고 한다. 상호배제 : 한 번에 하나의 프로세스만 자원을 사용할 수 있다. 점유와 대기 : 프로세스는 최소한 하나의 자원을 점유하고 있고 다른 프로세스가 점유 중인 자원을 대기 중이다. 비선점 : 점유된 자원은 점유 중인 프.. 2023. 6. 19.
[AWS] AWS lambda + event bridge 매일 크롤링해서 private RDS에 저장 프로젝트를 진행하던 중 매일 크롤링을 해서 데이터베이스에 데이터를 갱신해야 하는 작업이 있었다. 처음에는 EC2에 배포한 스프링부트에서 직접 자바로 크롤링을 하도록 구성을 했었는데 보안을 위해 private subnet에 EC2 인스턴스를 두면서 어려워졌다. NAT gateway를 통해 크롤링을 하는 방법도 있었지만 비용 문제로 다른 방법을 사용하기로 했다. 그 다른 방법은 AWS lambda와 AWS event bridge를 사용하여 매일 자정에 자동으로 크롤링을 해서 private RDS에 저장하는 방법이다. AWS Event Bridge의 Cron Rule을 사용하여 매일 자정에 이벤트를 발생시켜 Lambda를 호출한다. Lambda는 원하는 사이트를 크롤링 하여 원하는 데이터를 RDS에 저장한다... 2023. 6. 17.
728x90
반응형