컴퓨터 시스템

2023. 11. 12. 21:49카테고리 없음

**운영체제

 

운영체제의 구성

==> 사용자와 컴퓨터 하드웨어 사이에서 중재 역할을 하는 커널로 사용자가 컴퓨터 시스템을 운용할 수 있게 역할을 하며

사용자인터페이스(셸) 그리고 유틸리티프로그램 이 두 개로 구분합니다.

 

 

1. 자원과 프로셋,

 

(1) 자원 

==> 컴퓨터에서 사용될 수 있는 요소 (H.W, S.W)

 

(2) 프로세스

==> 실행되기 위해 주기억 장치에 옮겨진 프로그램

==> 자신만의 메모리 영역(주소공간) 존재

==> 디스크에 있던 profram -> 메모리에 적재하여 운영체제의 에어를 받는 상태가 되었다는 것

 

(3) 프로세스 제어 블록

==> 프로세스 각각에 대한 정보를 관리하는 테이블

==> 프로세스가 생성될 때 같이 생성되고 이 프로세스가 종료될 때 같이 사라짐 

 

 

 

<프로세스 상태 변화와 스케줄러의 역할>

 

 

대부분 시스템 여러 개 프로세스에게는  주기억 장치에 저재하여 중앙처리 장치 이용률을 최대화하는 방식으로 준비 상태의 프로세스 중에서 가장 먼저 실행 상태가 될 프로세스를 결정하는 프로세스 스케줄링이 필요하게 됩니다.

 

장기 스케줄러 => 디스크에서 메모리로 작업을 가져와 처리할 순서 결정.

중기 스케줄러 => 성능이 저하되는 경우 대비

단기 스케줄러 => 프로세스를 다음번 실행 상태로 만들지 결정

 

<스케줄링의 기준>

1. CPU 이용료

2, 처리량

3. 소요(반환)

4. 대기시간

5. 응답시간

으로 구성됩니다.

 

<스케줄링 구분>

비선점 스케줄링 -> 프로세스가 CPU 할당받아 실행이 시작되면

                               그 프로세스가 실행이 끝나거나 다른 자원 요청으로 계속 CPU를 사용하여 실행하는 방법

                               (단, 스스로 CPU를 반환하는 경우 제외)

 

 

선점 스케줄링 -> 실행 중인 프로세스에게서 강제로 CPU를 빼앗아 다른 프로세스에게 넘겨주는 방법

 

 

ex) FCFS = FIFO 스케줄링

-먼저 도착한 프로세스 먼저 실행

-준비 상태에 도착한 순서에 따라 선착순 cpu 할당

-프로세스가 준비큐에 진입하면, 이 프로세스 제어블록( PCB )을 큐 끝에 연결

 

단점 : 호위효과 : 소요시간이 긴 프로세스가 먼저 도달하여 시간을 잡아먹고 있는 부정적인 현상