CPU

운영체제는 프로세스를 효율적으로 가동시켜 작업 효율을 늘리기 위해 스케줄링 기법을 사용한다. 스케줄링이 무엇인지 알아보자. 배경 Multiprogramming (멀티 프로그래밍) 시스템에는 소수의 프로세서에 다수의 프로세스가 존재한다. 시스템은 많은 양의 프로세스를 최대한 효율적으로 프로세서에 할당하려고 하고, 결국 프로세서의 사용률을 최대한 증가시켜야 한다. 2가지 자원을 관리하는 측면에서 이를 살펴보자. 자원 관리 시간 자원 공유 (Resources for time sharing) 다수의 프로세스가 프로세서를 시간을 할당 받아 사용한다. (이 할당 받은 시간 단위를 time quantum 또는 time slice라고 한다.) 프로세스 스케줄링의 핵심이다. 공간 자원 공유 (Resources for s..
운영체제라는 과목에서 발생하는 이벤트들의 주체는 프로세스인 경우가 많다. 그래서 프로세스라는 말이 수없이 나오게 되는데, 도대체 이 프로세스가 뭘까? 정리해보고자 한다. Process vs Job(Application) 우선 프로세스의 개념을 알아보려면, Job과 Process의 차이부터 명확하게 짚고 넘어가야 한다. Job(Application, Execution/Image file): 설치된 것(실행중이 아닌 상태) Process: 현재 실행중어서 커널에 등록된 상태 → 커널이 프로세스를 관리한다. 보다시피 Job(App)이 실행되면 커널 내부로 들어와 커널에 등록되고, Process로 불리게 된다. Process vs Processor 그런데 프로세스는 프로세서와 혼동되어 사용되기 쉽다. 확실하게 ..
운영체제의 기본 구조에서 Interrupt, Trap, System Call은 프로세서와 커널, 디바이스 간에 매 순간마다 발생하는 핵심적인 이벤트들이다. 이 3가지에 대해서 알아보고자 한다. 우선 현대의 운영체제들은 대부분 Dual mode(듀얼 모드)로 동작한다. 듀얼 모드란, User mode(사용자 모드)와 Kernel mode(커널 모드)를 아우르는데 User mode는 일반적인 애플리케이션이 동작되는 환경이고 Kernel mode는 커널이 구동되는 환경으로 이 모드에서는 OS 시스템에 영향을 줄 수 있는 명령을 내릴 수도 있다. (이것이 Dual mode를 만든 주요 원인이다. 사용자 단계에서 시스템에 함부로 접근할 수 없도록 하기 위함이다.) 일반적으로 trap과 interrupt가 발생할 ..
말도 못하는 감자
'CPU' 태그의 글 목록