반응형
스케줄러
어떤 프로세스에게 자원을 할당할지를 결정하는 운영체제의 모듈을 지칭한다.
- Long - term Scheduler ( Job Scheduler)
- 시작 프로세스 중 어떤 것들을 ready queue로 보낼지 결정
- 프로세스에 memory를 주는 문제
- Short - term Scheduler ( CPU Scheduler)
- 어떤 프로세스를 다음번에 running 시킬지 결정
- 프로세스에 CPU를 주는 문제
- 충분히 빨라야 함( millisecond 단위)
- Medium - term Scheduler ( Swapper)
- 여유공간 마련을 위해 프로세스를 통째로 메모리에서 디스크로 쫓아냄
- 프로세스에게서 Memory를 뺏는 문제, Suspended( Stopped) 라는 프로세스의 상태를 일으킬 수 있다.
- 외부적인 요인으로 발생, 외부에서 resume 해 주어야 Active, ( 예시 : 사용자가 프로그램을 일시정지시킨 경우)
Thread
- 프로세스중에서 CPU 실행단위를 Thread라고 한다.
- 하나의 프로세스는 여러개의 쓰레드로 구성이 가능하다
- 하나의 프로세스를 구성하는 쓰레드들은 프로세스에 할당된 메모리, 자원 등을 공유한다.
Thread의 구성
- Program counter
- register set
- stack space
Thread가 동료 Thread와 공유하는 부분
- code section
- data section
- heap section
- OS resources
Thread의 장점
- 응답성이 빠르다
- Thread를 사용하면 병렬성을 높일 수 있다
- 다중 Thread로 구성된 태스크 구조에서는 하나의 서버 스레드가 Blocked(waiting) 상태인 동안에도 동일한 태스크 내의 다른 Thread가 실행(running)되어 빠른 처리를 할 수 있다
- 동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율(throughput)과 성능 향상을 얻을 수 있다
- Thread를 사용하면 자원 효율성이 향상된다
비동기식 입출력은 Thread 환경에서 효과적으로 동작을 할 수 있다
Thread를 구현하는데에는 크게 2가지 방법이 있다
- 운영체제 커널에 의해 지원받는 방법(커널 쓰레드, Kernal Threads)
- 스레드가 여러 개 있다는 사실을 운영체제 커널이 알고 있으며, 하나의 스레드에서 다른 스레드로 CPU의 제어권이 넘어가는 것도 커널이 CPU 스케줄링을 하듯 스케줄링하도록 구현되는 것이다
- 라이브러리에 의해 지원받는 방법(유저 쓰레드, User Threads)
- 커널의 지원을 받지 않으며, 프로세스 내에 스레드가 여러 개 있다는 사실을 운영체제는 알지 못하고 사용자 프로그램이 스스로 라이브러리의 지원을 받아 스레드를 관리하게 되는 것이다
이 포스팅은 이화여대에서 무료로제공하는 반효경님의 운영체제강의를 수강하며 정리한 내용입니다.
필자가 잘 이해하지 못해서 잘못된 내용이 있을 수 있으므로 주의바라며, 발견되면 알려주시면 감사하겠습니다.
http://www.kocw.net/home/search/kemView.do?kemId=1046323
운영체제
운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각
www.kocw.net
반응형
'CS > 운영체제' 카테고리의 다른 글
운영체제(6) - CPU 스케줄링 (0) | 2023.09.22 |
---|---|
운영체제(5) - 프로세스의 생성과 관련 시스템콜 (1) | 2023.09.22 |
운영체제(3) - 프로세스 (0) | 2023.09.13 |
운영체제(2)- 시스템 구조 (0) | 2023.09.04 |
운영체제(1)- 운영체제란 무엇인가? (0) | 2023.09.04 |