Computer Science
-
[OS] Process SynchronizationComputer Science 2023. 4. 27. 01:18
오늘로 운영체제 독학이 마무리되었다. 마무리된 김에, 이해하기 어려웠던 개념인 Process Synchronization에 대해 알아보려 한다. 프로세스 간 메시지를 전송하거나, 공유 메모리를 통해 특정 데이터를 공유하게 되는 경우 문제가 발생할 수 있다. CPU를 할당받은 프로세스가 공유 메모리에 대한 작업을 수행하는 상황에, 중간에 다른 프로세스에서 해당 메모리 내 같은 데이터에 대한 작업이 수행되는 경우를 말한다. 이를 Race Condition이라고 한다. Race Condition은 작업 도중 OS가 개입하는 경우 때문에 발생한다. 1. CPU의 kernel 수행 중 Interrupt 발생 시 2. 프로세스가 System Call을 요청하여 kernel 모드로 수행중인데 Context Switc..
-
[OS] Synchronous I/O와 Asynchronous I/OComputer Science 2023. 4. 12. 08:35
- I/O, 입출력 컴퓨터 시스템이 컴퓨터 외부의 입출력 장치들과 데이터를 주고받는 것 동기식 입출력, Synchronous I/O 어떤 프로그램이 입출력 요청을 했을 때 디스크 입출력이 완료된 후에야 그 프로그램이 후속 작업을 수행할 수 있는 방식 프로그램이 디스크에서 어떤 정보를 읽어오라는 요청을 했을 때 디스크 입출력이 완료되기까지는 어느 정도의 시간이 소요된다. 이때 동기식 입출력은 입출력이 진행되는 동안 그 프로그램의 다음 명령을 수행하지 않고 기다린다. 이후 입출력이 완료되어 인터럽트를 통해 그 사실을 전달된 후에야 CPU의 제어권이 프로그램에게 넘어가서 다음 명령을 수행할 수 있게 된다. 동기식 입출력은 CPU는 입출력 연산이 끝날 때까지 인터럽트를 기다리며 자원을 낭비하게 되는 것이다. 이..