본문 바로가기

os공부2

[OS공부] 뮤텍스/세마포어/크리티컬섹션 개념 세 기법은 운영체제가 지원하는 동기화 객체의 종류이다. OS에 쓰레드 동기화가 왜 필요할까? 컴퓨터에서의 자원은 제한되는 특성을 갖지만 시스템은 여러 프로세스를 동시에 실행하면서 각각 프로세스들은 자원들을 차지,점유하려는 시도를 한다. 이를 관리할 시스템이 없다면 프로세스간 충돌이 빈번할 것이다. 이 포스팅의 내용은 이런 문제를 해결하기 위해 운영체제에 도입된 객체를 활용하는 방법이다. 운영체제가 제공하는 동기화용 커널객체에는 뮤텍스,세마포어,이벤트 등이 있으며, 사용자모드 동기화 객체로 크리티컬 섹션이 존재한다. 뮤텍스(Mutex) 기반의 동기화 (메모리 접근 동기화) 세마포어(Semaphore) 기반의 동기화 (메모리 접근 동기화) 크리티컬 섹션(Critical section) 기반의 동기화 1. 뮤.. 2022. 11. 17.
[OS 공부] 스케줄러 스케줄러란 프로세스들은 자신이 죽을때까지 수많은 큐들을 돌아다닌다. OS는 이 큐 안에 있는 프로세스 중에 하나를 선택해야 한다. 이런일을 스케줄러가 하는 것이다. 즉,프로세스들 중에 무엇을 어떻게 어떤시간에 선택해야하는것일까? 이러한 원칙을 세워 실행하는 것을 스케줄러라고 한다. 큐(Queue) : 프로세스를 스케줄링 하기 위한 큐는 세가지 종류가 있다. - Job Queue : 현재 시스템 내에 있는 모든 프로세스의 집합 - Ready Queue : 현재 메모리 내에 있으면서 CPU를 기다리는 프로세스의 집합 - Device Queue : Device I/O 작업을 대기하고있는 프로세스의 집합 스케줄러의 종류 장기스케줄러 : 한정된 메모리 공간에 프로세스들이 한번에 올라온 경우, 디스크에 임시로 저장.. 2021. 1. 10.
반응형