반응형
강의 노트
1. CPU 스케쥴링
1) Multilevel Queue Scheduling
: 프로세스가 들어오면 프로세스 그룹에따라 다른 스케줄링 방법 사용
각각의 큐에 절대적 우선순위 존재 또는 cpu time을 각 큐에 차등 배분
각 큐는 독립된 스케줄링 정책
Process Groups
- system processes
- interactive processes <-> compile, batch processes
- interactive editing processes ex) Word
- batch processes
우선순위 System > Interactive > batch...
2) Multilevel Feedback Queue Scheduling
: 복수개의 큐, 다른 큐로 이동
- 모든 프로세스는 하나의 입구로 진입
- 너무 많은 cpu time 사용 시 다른 큐로 이동
- 기아 상태 우려 시 다시 우선순위 높은 큐로 이동
2. 프로세스 생성과 종료
1) 프로세스 생성
: 부팅시 - Os가 메인메모리로 올라감 - os가 프로세스 생성(init) - init이 다른애들 만듦
- 부모 프로세스
- 자식 프로세스
- 프로세스 트리
- process Identifier(PID)
cf) 부모 프로세스 pid : PPID
- 프로세스 생성 명령어
- fork() system call : 부모 프로세스 복사
- exec() : 실행파일을 메모리로 가져오기
2) 프로세스 종료
- exit() system call : 해당 프로세스가 가졌던 모든 자원은 OS에게 반환(메모리, 파일, 입출력 장치 등)
3. Thread
: 프로그램 내부의 흐름. 맥
1) Single Thread
: 1 프로세스 1 쓰레드
2) Multithreads 다중 쓰레드
- 한 프로그램에 2개이상의 쓰레드
- 쓰레드가 빠른 간격으로 스위칭되어 동시에 실행되는것 처럼 보임(concurrent : 스위칭되며 vs simultaneous : 여러개 실행)
쓰레드 구조
- 프로세스 간 메모리 공간 공유(code, data)
- 프로세스의 자원 공유 (file, i/o..)
- 비공유 : 개별적 pc, sp, registers, stack
Q. 멀티코어 프로세서에서는 늘어난 코어 수만큼 simultaneous 하게 프로세스/쓰레드 처리 가능?
+ 컴퓨터 구조론 공부하기
728x90
반응형
'CS > OS' 카테고리의 다른 글
[운영체제] 2. 운영체제의 개요, 역사, 현대의 운영체제 (0) | 2024.12.10 |
---|---|
[Linux] 유용한 명령어 모음 (0) | 2024.03.05 |
[Linux] VM Root Directory Extend (1) | 2024.03.05 |
[Linux] OS 로그 저장 설정 (0) | 2024.03.05 |
[OS] AWS EC2 root 비밀번호 생성 (0) | 2022.11.20 |