1. Blocking (블로킹) vs Non-Blocking (논 블로킹) 위 두 개념은 어떤 하나의 함수가 어떻게 동작하는지에 관한 이야기다. 함수 A와 B가 존재한다고 가정하자. 또한, 함수 A가 함수 B를 호출한다.이때 함수 A가 어떻게 행동하는지에 따라 Blocking과 Non-Blocking이 결정된다.즉, 해당 개념과 함수 B는 아무런 관련이 없다. 어떠한 상황에서도 함수 A가 아무것도 하지 못하고 함수 B의 결과를 기다리는 상황이 바로 Blocking이다. 반대로 함수가 A가 다른 일을 하며 함수 B의 결과를 기다리는 상황은 Non-Blocking이다. 예를 들어, 함수 A는 주기적으로 함수 B의 상태를 확인하는 폴링 (Polling)을 수행하거나,함수 B로부터 작업이 완료되었다는 알림을 받..
운영체제
1. 파일 & 파일 시스템File보조기억장치에 저장된 관련 정보의 집합 ("A named collection of related information") → 또한 운영체제는 다양한 저장 장치를 File이라는 동일한 논리적 단위로 취급 File Attribute (= Metadata)(파일 자체의 내용이 아닌) 파일을 관리하기 위한 각종 정보 → 파일 이름, 파일 유형, 파일 사이즈, 파일 위치 → 파일 접근 권한 (읽기 / 쓰기 / 실행), 파일 접근 시간 (생성 / 변경 / 사용), 파일 소유자 등 File System운영체제에서 파일을 관리하는 부분 → 파일 및 파일의 메타데이터, 디렉터리 정보 등을 관리 → 파일의 저장 방법 결정 → 파일의 보호 등 2. 디렉터리 & 파티션Directory파일의 메..
0. 서론8장의 모든 내용은 운영체제가 별도로 관여하지만, 이 장의 내용은 전적으로 운영체제가 관여 주소 바인딩은 하드웨어가 전담 1. 요구 페이징 (Demand Paging)프로세스를 메모리에 적재할 때 처음부터 모든 페이지를 적재하지 않고, 필요한 페이지만을 메모리에 적재하는 기법페이징에서도 스와핑을 사용할 수 있음하나의 프로세스를 이루는 페이지 중 실행에 필요한 일부 페이지만을 메모리에 적재하고, 당장 실행에 필요하지 않은 페이지는 보조기억장치에 남겨둘 수 있음 장점당장 필요한 페이지만 적재하기 때문에 메모리 사용량 감소프로세스 전체를 메모리에 올리는데 소요되는 입출력 오버헤드 감소메모리가 더 많은 프로세스를 수용할 수 있으므로 응답시간 감소프로그램이 물리 메모리의 용량 제약을 벗어날 수 있음 2...
0. 메모리 주소물리 주소 (Physical Address)데이터와 명령어가 실제로 저장되는 하드웨어 상의 주소낮은 주소 영역에는 운영체제가, 높은 주소 영역에는 사용자 프로세스가 적재됨 논리 주소 (Logical Address)프로세스마다 독립적으로 가지는 주소 공간 (= 가상 메모리)의 주소프로세스마다 0번지부터 시작CPU는 물리 주소가 아닌 논리 주소에 근거해 명령어를 해석 및 실행 1. 주소 바인딩 (Address Binding) 논리 주소를 물리 주소로 변환하는 과정CPU가 메모리와 상호작용하려면 논리 주소는 물리 주소로 변환되어야 하며 이것을 주소 바인딩이라고 함 Compile Time Binding컴파일 시점에 물리 주소가 결정되는 방식프로그램이 적재된 물리 주소를 변경하고 싶다면 재컴파일이..