728x90
목차
1. 프로그램과 프로세스
- 프로그램은 저장장치에 저장된 정적인 상태
- 프로세스는 실행을 위해 메모리에 올라온 동적 상태
2. 프로세스 상태
- 생성, 준비 (CPU 스케줄러가 선택), 실행 (CPU 사용 상태, 문맥 교환 발생), 대기 (입출력 완료되면 다시 준비 상태), 완료 (exit, abort)
3. 프로세스 제어 블록
- 프로세스 정보를 저장하는 자료구조
- 모든 프로세스는 제어 블록을 가짐
- 생성 시 만들어지고 완료 시 폐기됨
4. 문맥 교환
- 프로세서 제어 블록 및 관련 값을 교환하는 작업
- 타임 슬라이스를 다 쓰거나 인터럽트가 걸렸을 때 발생
5. 프로세스 복사와 전환
- fork(): 실행 중인 프로세스에서 새로운 프로세스 복사
- exec(): 기존의 프로세스를 새로운 프로세스로 전환
6. 프로세스 계층 구조
- 자식은 부모 프로세스의 자원을 상속하고 자식이 종료되면 부모에게 자원 회수
7. 스레드
- CPU 스케줄러가 CPU에 전달하는 일 하나를 의미하고 하나의 프로세스는 여러 스레드가 존재
8. 멀티 스레드 장단점
- 다른 스레드가 응답하여 빠른 응답 가능
- 하나의 프로세스에서 공유 스레드를 만들어서 효율성 증대 가능
- 다중 CPU를 지원
9. 멀티 스레드 모델
- 사용자 커널 스레드: 사용자 레벨에서 라이브러리를 구현하며 스케줄링 동기화 같은 기능도 대신 구현
- 커널 레벨 스레드: 커널이 멀티스레드 지원
- 멀티레벨 스레드: 혼합된 형태
300x250
'OS > 쉽게 배우는 운영체제' 카테고리의 다른 글
프로세스 동기화 (0) | 2022.05.23 |
---|---|
CPU 스케줄링 (0) | 2022.05.03 |
컴퓨터 구조와 성능 향상 (0) | 2022.04.18 |
운영체제 개요 (0) | 2022.04.18 |