본문 바로가기
컴퓨터 지식

(운영체제,OS) 입출력, 임계영역이란?

by LiveData 2018. 12. 7.
반응형

CPU Burst/ IO Burst

  • 입출력 중심의 프로그램은 전형적으로 짧은 CPU버스트를 많이 가질 것이다.

  • CPU중심은 긴 버스트 가질수 있음



단기 스케줄러에 의해 준비완료 큐에 있는 프로세스들 중에서 선택하여 실행



1. 한 프로세스가 실행->대기 : 입출력요청, wait

2. 실행->준비완료 : interrupt

3. 대기->준비완료 : 입출력 종료

4. 프로세스종료




preemptive : 공유데이터 접근 시 비용발생. 

      , 운영체제 커널 설계에 영향을 준다. 

 OS 활동중 인터럽트 발생에 의해서 영향을 받는 코드 부분은 반드시 

  동시 사용으로 보호되어야 한다.



Dispatcher 

  • CPU의 제어를 단기 스케줄러가 선택한 프로세스에게 주는 모듈

  • 문맥을 교환하는일

  • 사용자 모드로 전환

  • 프로그램을 다시 시작하기위해 사용자 프로그램의 적절한 위치 이동


Dispatch latency - 디스패처가 하나의 프로세스를 중단시키고 다른 

  프로세스를 실행시키는데까지 소요되는 시간





  • CPU utilization : CPU를 항상 바쁘게 유지 MAX

  • Throughput : 단위시간당 프로세스 처리량 ,MAX

  • Turnaround time : 프로세스 시작과 끝나는 총처리 시간 MIN

  • Waiting time : 준비완료에서 대기하고 있는 시간 MIN

  • Response time : 하나의 요구를 제출한후 첫번재 응답이 올때까지 시간 MIN

foreground-RR

background-FCFS



프로세스는 큐들 사이에서 옮겨다닐 수 있음





Thread Schedule

  • 사용자 수준과 커널 수준 스레드를 구별할 수 있다.

  • 스케줄되는 대상은 프로세스가 아니라 커널 수준 스레드이다. 

  • 사용자 수준 스레드는 스레드 라이브러리에 의해 관리되고 커널은 그들의

  • 존재를 알지 못한다. 




다대다 모델을 구현하는 시스템에서는 스레드 라이브러리는 사용자 수준 

  스레드를 가용한 LWP 상에서스케줄한다.

이 구조는 동일한 프로세스에 속한 스레들 사이에서 CPU를 경쟁

하기 때문에 (Process contention Scope PCS)로 알려져있다.

CPU상에서 어느 커널스레드를 스케줄할것인지 결정하기 위해

system contention scope, scs)를 사용한다.



pthread scheduling : pcs scs를 지정할 수 있다.





Asymmetric multiprocessing(비대칭 다중처리)

  • 하나의 master server라는 하나의 처리기가 모든 스케줄링 결정과

  • 입출력 처리 그리고 다른 시스템 활동을 처리하게 하는것

  • Symmetric multiprocessing(SMP) 각 처리기 독자적 스케줄링.




Processor affinity(친화성)

약한친화성 : 처리기 사이에서 이주가 가능



Load balancing - 작업의 분배를 효율적으로 해야한다.

push migration, pull migration




하나의 칩에 여러개 처리기코어를 장착 -> 다중코어 프로세서

coarse-grained(크게나눔) : 메모리 멈춤과 같은 긴 지연시간을 가진

사건이 발생할 때까지 한 처리기에서 실행

스레드간의 교환비용이 많이듬.


fine-grained(잘게나눔) : 보통 명령어 주기의 경계에서와 같이 좀 더 

세밀한 정밀도를 가진 시점에서 스레드 교환이 일어난다.

스레드 교환회로포함, 교환비용적어짐.





Real-Time CPU Scheduling

Soft real-time systems ? no guarantee as to when critical real-time process will be scheduled

Hard real-time systems ? task must be serviced by its deadline

Two types of latencies affect performance

Interrupt latency ? time from arrival of interrupt to start of routine that services interrupt

Dispatch latency ? time for schedule to take current process off CPU and switch to another






Preemption of any process running in kernel mode

우선순위가 낮을경우 높은 우선순위에게 뺏김



For real-time scheduling, scheduler must support preemptive, priority-based scheduling

But only guarantees soft real-time

For hard real-time must also provide ability to meet deadlines

Processes have new characteristics: periodic ones require CPU at constant intervals


반응형