운영체제는 응용프로그램과 하드웨어 중간에 위치하는 개체로 중간에서 여러가지 일을 해준다. 운영체제가 필요한 이유는 응용프로그램에서 이런 하드웨어에 직접 접근하기에는 복잡하고 또 여러가지 문제가 생길 수 있기 때문에 중간에서 OS개체가 그것을 관리해준다. OS는 여러가지
프로세스는 메모리를 할당받고 커널에 등록되어 커널의 관리를 받는 작업(프로그램 + 데이터)입니다. 즉 실행중인 프로그램이 프로세스입니다. 따라서 커널에 등록된 프로세스는 각종 자원을 요청하고 할당받을 수 있으며 PCB(프로세스 관리 블록)을 갖게 됩니다. 자원은 크게
스레드는 하나의 프로세스 안에서 자원을 공유하며 존재하며 프로세서할당의 단위이다. 스레드는 제어요소와 그 외의 요소로 나뉘는데 이중 제어요소는 스레드별로 가지고있는 것이다.. 스레드의 환경정보와 지역데이터, 스택이 제어요소이다. 프로세스에 할당된 메모리 영역중에는 스택
프로세스 스케줄링은 여러개의 프로세스가 하나의 시스템안에 존재하는 다중프로그래밍에서 필요한 것입니다. 자원을 어떤 프로세스에게 할당해줄지 선택해주는 과정이라고 보면됩니다. 자원은 크게 두가지 방법으로 분할할 수 있습니다. 첫 번째는 시간분할 관리방법입니다. 하나의 자원
프로세스가 발생 가능성이 없는 이벤트를 기다리는 경우로 시스템 내에 하나라도 교착상태에 빠진 프로세스가 있다면 시스템은 교착상태인 것기다린다는 점에서 starvation과 비슷한 점이 있기 때문에 헷갈리는 경우가 있지만 starvation은 발생할 수 있지만 우선순위와
메모리관리 메모리의 종류 메모리의 종류는 아래와 같이 계층을 이루고 이 계층에 적절히 분배되어 저장된다. 위로갈수록 가격은 비싸고 속도는 빠르며 아래로갈수록 속도는 느리고 가격은 저렴하다. register와 cache는 CPU가 관리하며 main memory와 d
비연속 메모리할당에서 필요한 기법비연속 메모리할당은 프로세스에서 필요한 부분들만 메모리에 올리는 방법인데 이때 가상주소(논리주소)를 사용한다. 이는 연속적으로 메모리를 할당받은 것처럼 사용할 수 있는 주소이다. 따라서 가상주소와 물리주소의 매핑이 중요하다.프로그램을 같
가상 메모리 시스템(paging, segmentation, hybrid)의 성능 최적화그렇다면 어떤 지표를 이용해서 성능 최적화를 평가해야할까? 바로 page fault의 발생률이다. page fault가 발생하면 Context Switch 및 Kernel의 개입이 일
지금부터 설명하는 페이지 교체 전략은 Fixed allocation 즉 paging system에서 사용될 수 있는 기법들이다.page fault를 최소로 만드는 알고리즘으로 최적의 솔루션이라고 불린다. 이 기법은 가장 오랫동안 참조되지 않을 페이지와 교체하는 방식으로