본격적으로 OS에 대해 정리하기에 앞서 정의와 간단한 개념에 대해 살펴보자.OS는 hardware 와 user 사이의 interface이다.OS는 activity들을 관리/조직하고 컴퓨터 resource들의 공유한다.Machine에서 실행중인 각종 application
먼저 Job과 Process를 구분할 줄 알아야한다.Job (App, Execution/Image file) -> 아직 실행되지 않음Process -> 실제로 실행돼 Kernel에 등록돼있는 상태kernel이 전체적인 system performance를 관리하기 시작함
process가 CPU를 할당받는 과정에 어떤 스케줄링 기법이 존재하는지에 대한 파트다.Process scheduling은 multiprogramming을 대상으로 한다.하나 이상의 CPU를 갖는 시스템에서 여러개의 프로세스가 동시에 운영되는 상황이다.CPU를 놀고있게
multiprogramming(multi-tasking) 시스템에서 여러개의 process가 존재하고 각각 독립적으로 일한다. 하지만 독립적으로 일하기 때문에 문제가 생긴다.Shared data에 동시에 접근할때 : data inconsistency가 발생하므로 pro
앞부분은 밑 링크를 참고 5장. Process Synchronization_1
Deadlock이 무엇인지, 왜 문제가 되고 OS가 어떻게 해결하는지에 대한 파트다.
memory관리 기법을 알아보기에 앞서 메모리의 종류와, address binding, Overlay structure, Swapping에 대해 알아보자.
메모리 관리기법에 대해서 알아보자.
8장의 contiguous, discontiguous memory allocation에 이어서 대부분의 OS에서 사용되는 Virtual memory organization에 대해서 알아보자.
Demading paging에 이어서 Segmetation, Hybrid paging/segmentation에 대해서 알아본다.
virtual memory 사용 시 page fault로 발생하는 성능 이슈에 대한 해결법을 다루는 파트다.
page fault 발생을 최소화하기 위한 page replacement 기법에 대해서 알아보자. 이 포스팅에서는 Fixed allocation(FA) based 교체 기법을 정리했다.
이 포스팅에서는 Varaible allocation(VA) based 교체 기법 중 WS 기법을 정리했다.
컴퓨터 시스템의 각종 파일 시스템, 디바이스들이 어떻게 관리되는지 알아보는 파트이다.
file system 두 번째파트
실제로 시스템의 파일시스템이 HDD나 SDD같은 스토리지 영역에 어떤 레이아웃으로 구성되는지, 레이아웃에 파일이 생성됐을때 어떤 식으로 접근되는지에 대한 파트이다.
Linux와 Unix가 file system을 어떻게 관리하는지 알아보자