반응형
프로세스
- 실행중인 프로그램
- PCB를 가진 프로그램
- 비동기적인 행동을 일으키는 주체
- 프로시저가 활동 중인 것
- 프로세서가 할당되는 실체
PCB(Process Control Block)
OS가 프로세스에 대한 정보를 저장하는 공간
프로세스 생성시 PCB가 생성되고, 종료되면 PCB제거
PCB가 담고 있는 정보
- 프로세스 현재상태
- 프로세스 우선 순위
- 할당된 자원 정보
- 프로세스 식별자(PID)
- I/O 상태정보
- 자원포인터
- CPU레지스터 정보
프로세스 전이
스레드(Thread)
하나의 프로세스에서 병행성을 증가시키는 주체
프로세스의 자원과 메모리를 공유함
따라서 다중 스레드는 context switch나 프로세스의 생성 등 부하를 줄여줄 수 있음
프로세스 스케쥴링
시스템 자원을 프로세스에 할당하는 작업
목적
- 작업에 대한 공정성
- 단위시간당 처리량을 높히기 위해, Through put의 극대화
- Trunaround시간 최소화를 위해
방법
1. Non-Preeptive (비선점)
일단 할당 받으면 그 자원을 뺏을 수 없음
일괄 처리에 적합함
- FCFS(First Come First Service) : FIFO아 같은 맥락으로 준비상태 큐에 먼저 도착한 순서대로 진행
- SJF(Shortest Job First) : 준비상태 큐 중에서 소요시간이 가장 짧은 것부터 사용함. 평균 대기시작이 짧아진다.
- HRN(Highest Response-ratio Next) : 우선순위에 따라 수행함
- 기한부 : 주어진 시간 안에 완료되도록 함
- 우선순위(Priority) : 프로세스에 부여된 우선순위가 높은 프로세스 먼저
-> Aging 기법을 주로 사용함 -> 대기시간이 길수록 우선순위가 높아지는 기법
2. Preemptive (선점)
프로세스에 할당된 자원을 빼앗을 수 있음
대화식 시분할 시스템에 적합함.
- SRT(Shortest Remaining Time) : 실행중인 프로세스의 남은 소요시간 vs 다른 프로세스 중 소요시간이 짧은 것 선택
- RR(Round Robin) : 주어진 시간 할당량 안에 작업을 마치지 못하면 큐의 맨 뒤로 보냄
- MQ(다단계 큐) : 프로세스를 우선순위에 따라 시스템, 대화형, 일괄처리등으로 상위, 중위, 하위단계로 큐 배치
- 다단계 피드백 큐 : RR+MQ
Context Switch
현재 실행중인 프로세스의 상태를 저장하고 다음 프로세스의 상태정보를 설정한 후에 실행하는 작업
병행프로세스
두개 이상의 프로세스들이 동시에 실행되는 것
다중처리 or 분산처리에서 매우 중요함
임계구역
여러 프로세스가 공통으로 사용하는 자원 영역으로, 한 시점에 한 프로세스가 사용하도록 해야한다.
이를 위해 동기화기법을 사용한다.
동기화 기법
세마포어 : 임계구역 접근을 위해 P, V연산을 통해 프로세스를 접근을 제한한다.
모니터 : 공유자원이나 할당에 필요한 데이터 및 프로시저를 포함하는 병행성 구조
https://dduddublog.tistory.com/25
Dead Lock(교착상태)
서로 다른 프로세스가 점유한 자원을 서로가 요구하며 무한정 대기로 빠지는 현상
조건
- 상호배제 : 한개의 프로세스만이 공유자원을 사용
- 점유/대기 : 자원을 가진 프로세스가 다른 자원의 할당으 ㄹ요구할 수 있음
- 비선점 : 끝날때까지 뺏을 수 없음
- 환형대기 : 프로세스 앞 뒤의 자원을 요구함
해결
예방, 회피, 발견 회복
반응형