Computer Science/OS
-
[OS] Interrupt와 System CallComputer Science/OS 2022. 3. 3. 21:00
Dual Mode 컴퓨터가 일을 수행하는 가장 기본적인 방식은 메모리에서 instruction을 받아와서 이를 수행하는 것이다. 다만, OS는 다양한 애플리케이션들이 구동되는 환경으로부터 컴퓨터를 지키기 위해 Dual Mode operation을 사용한다. 말 그대로 2가지 모드를 기반으로 컴퓨팅 리소스를 운용한다는 것이다. Processor Register에 있는 mode bit으로 mode가 전환되는데, mode bit이 0일 때 구동되는 Kernel Mode와 1일 때 구동되는User Mode가 있다. Kernel Mode는 OS 단에서 처리해야 할 명령어들을 수행한다. 예를 들어 User Application에서 시스템 콜을 통해I/O 작업이 요청되었을 때 I/O 작업을 수행한다거나, Timer ..
-
동기와 비동기, 블로킹과 논블로킹Computer Science/OS 2022. 2. 25. 07:46
웹개발을 접해볼 일이 있었다면, 그 중에서도 특히 자바스크립트를 쓸 일이 있었다면 오늘의 주제는 반드시 접해봤을 것이다. 동기와 비동기, 블로킹과 논블로킹은 작업을 수행하는 주체 간의 처리 방식을 표현하는 용어들이다. 그러나 다른 개념임에도 종종 혼동되거나 의미 자체를 명확히 알지 못하는 경우가 많아 명확히 정리해보고자 한다. 블로킹과 논블로킹 잘 기억할 수 있도록 영어 단어 뜻 그대로 이해해보자면 블로킹은 막힌다는 뜻으로, 논블로킹은 막히지 않는다는 뜻으로 해석할 수 있다. 그런데 무엇이 막히고 막히지 않는다는 것일까? 바로 작업을 요청한 쓰레드이다. 위 그림을 살펴보면 블로킹의 경우, Kernel에 작업을 맡긴 Application이 Kernel의 작업이 끝날 때까지 다른 작업을 수행하지 않는 것을 ..