본문 바로가기

자격증/정보처리기사 3과목

3-13강. 응용 SW 기초 기술 활용-운영체제 기초 활용(3)

[ 목차 ]

 

1. 프로세스

1) 주기억장치에 저장된 프로그램(실행중인 프로그램)

2) 운영체제가 관리하는 최소 단위의 작업

3) 비동기적(비연속적, 독립적) 행위를 일으키는 주체

4) 프로시저의 활동

5) PCB를 가진 프로그램

6) 프로세서가 할당되는 실체

7) CPU에 의해 수행되는 사용자 및 시스템 프로그램

8) 프로세스가 자원을 이용하는 정상적인 작동의 순서 : 요청 -> 사용 -> 해제

9) 지정된 결과를 얻기 위한 일련의 동작

10) 디스크(보조기억장치)에 저장된 프로그램이 아님

프로그램 : 보조기억장치에 저장된 프로그램
프로세스 : 주기억장치에 저장된 프로그램, CPU가 실행중인 프로그램
프로세서 : CPU

2. 스레드

1) 프로세스를 분할하여 운영체제의 성능을 개성하려는 소프트웨어적 접근방법으로 경량 프로세스라고도 지칭

2) 하나의 프로세스 내에서 병ㅎ생성을 증대시키기 위한 기법

3) 동일 프로세스 환경에서 서로 독립적인 다중 수행이 가능

4) 프로세스의 생성이나 문맥 교환 등의 오버헤드를 줄여 운영체제의 성능이 개선

 

3. 프로세스 제어 블록 : PCB process control block

1) 운영체제가 프로세스에 대한 중요한 정보를 저장한 곳

2) 프로세스가 생성될 때 마다 생성되며 완료되면 제거

3) o/s에게 프로세스에 대한 정보를 제공해 주는 자료구조테이블

4) 부모 프로세스와 자식 프로세스는 pcb공유 x

 

4. 프로세스 제어 블록의 저장 정보

1) 프로세스의 현 상태

2) 프로세스의 우선순위

3) 프로세스 식별자(고유번호)

  

5. 프로세스 상태 전이도

1) 준비 상태 : 프로세스가 cpu를 사용하여 실행될 수 있는 상태

2) 실행 상태 : 프로세스가 cpu를 차지하여 실행 중인 상태

3) 대기 상태 : 어떤 사건이 발생하기를 기다리는 상태

4) 타이머 런 아웃 : cpu를 할당 받아 실행중인 프로세스가 할당시간을 초과하면 cpu를 다른 프로세스에 양도하고 자신은 준비상태로 전이되는 것

5) 브록 : 실행 중인 프로세스가 지정된 시간 어진에 다른 작업을 위해 스스로 프로세스를 양도하기 대기상

태로 전이

 

 

6. 스풀링

1) 다중프로그래밍 환경 하에서 용량이 크고 신속한 액세스가 가능한 디스크를 이용해 각 사용자 프로그램의 출력할 데이터를 직접 프린터로 보내지 않고 디스크에 모아싸가 나중에 한꺼번에 출력하여 프린터 장치의 공유 및 프린터 처리 속도를 보완하는 기법

2) 어떤 작업의 입출력과 다른 작업의 계산을 병행 처리하는 기법

3) 디스크 일부를 매우 큰 버퍼처럼 사용하는 방법

4) 버퍼링과의 공통점 : 저속의 입출력 장치와 고속의 cpu간의 속도차이를 해소하기 위한 방법

5) 버퍼링과의 차이점 : 스풀링은 디스크, 버퍼링은 주기억장치]

 

 

 

1. 프로세스

 

1) 주기억장치에 저장된 프로그램(실행중인 프로그램)

 

2) 운영체제가 관리하는 최소 단위의 작업

 

3) 비동기적(비연속적, 독립적) 행위를 일으키는 주체

 

4) 프로시저의 활동

 

5) PCB를 가진 프로그램

 

6) 프로세서가 할당되는 실체

 

7) CPU에 의해 수행되는 사용자 및 시스템 프로그램

 

8) 프로세스가 자원을 이용하는 정상적인 작동의 순서 : 요청 -> 사용 -> 해제

 

9) 지정된 결과를 얻기 위한 일련의 동작

 

10) 디스크(보조기억장치)에 저장된 프로그램이 아님

 

프로그램 : 보조기억장치에 저장된 프로그램

프로세스 : 주기억장치에 저장된 프로그램, CPU가 실행중인 프로그램

프로세서 : CPU

2. 스레드

 

1) 프로세스를 분할하여 운영체제의 성능을 개성하려는 소프트웨어적 접근방법으로 경량 프로세스라고도 지칭

 

2) 하나의 프로세스 내에서 병ㅎ생성을 증대시키기 위한 기법

 

3) 동일 프로세스 환경에서 서로 독립적인 다중 수행이 가능

 

4) 프로세스의 생성이나 문맥 교환 등의 오버헤드를 줄여 운영체제의 성능이 개선

 

 

 

3. 프로세스 제어 블록 : PCB process control block

 

1) 운영체제가 프로세스에 대한 중요한 정보를 저장한 곳

 

2) 프로세스가 생성될 때 마다 생성되며 완료되면 제거

 

3) o/s에게 프로세스에 대한 정보를 제공해 주는 자료구조테이블

 

4) 부모 프로세스와 자식 프로세스는 pcb공유 x

 

 

 

4. 프로세스 제어 블록의 저장 정보

 

1) 프로세스의 현 상태

 

2) 프로세스의 우선순위

 

3) 프로세스 식별자(고유번호)

 

  

 

5. 프로세스 상태 전이도

 

1) 준비 상태 : 프로세스가 cpu를 사용하여 실행될 수 있는 상태

 

2) 실행 상태 : 프로세스가 cpu를 차지하여 실행 중인 상태

 

3) 대기 상태 : 어떤 사건이 발생하기를 기다리는 상태

 

4) 타이머 런 아웃 : cpu를 할당 받아 실행중인 프로세스가 할당시간을 초과하면 cpu를 다른 프로세스에 양도하고 자신은 준비상태로 전이되는 것

 

5) 브록 : 실행 중인 프로세스가 지정된 시간 어진에 다른 작업을 위해 스스로 프로세스를 양도하기 대기상

 

태로 전이

 

 

 

 

 

6. 스풀링

1) 다중프로그래밍 환경 하에서 용량이 크고 신속한 액세스가 가능한 디스크를 이용해 각 사용자 프로그램의 출력할 데이터를 직접 프린터로 보내지 않고 디스크에 모았다가 나중에 한꺼번에 출력하여 프린터 장치의 공유 및 프린터 처리 속도를 보완하는 기법

2) 어떤 작업의 입출력과 다른 작업의 계산을 병행 처리하는 기법

3) 디스크 일부를 매우 큰 버퍼처럼 사용하는 방법

4) 버퍼링과의 공통점 : 저속의 입출력 장치와 고속의 cpu간의 속도차이를 해소하기 위한 방법

5) 버퍼링과의 차이점 : 스풀링은 디스크, 버퍼링은 주기억장치를 활용

 

7. 교착상태

1) 둘 이상의 프로세슫르이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상

 

8. 프로세스 스케줄링 = cpu 스케줄링

1) 컴퓨터의 성능을 높이기 위해 그 사용 순서를 경정하기 위한 정책

2) 처리율 증가, cpu 이용률 증가, 우선 순위 제도, 오버헤드 최소화, 응답시간/반화시간/대기시간 최소화, 균현 있는 자원 사용, 무한 연기 회피의 장점을 지님

3) 기법

  1] 비선점 스케줄링 : 비효율적, 비양보

      - 프로세스에게 이미 할단된 cpu를 강제로 빼앗을 수 없고 사용이 끝날 때 까지 기다려야 하는 방법

      - 일괄 처리, 실시간 처리가 불가능해 중요한 작업이 기다리는 경우 발생

      - FIFO(=FCFS) : 준비상태에서 도착한 순서에 따라 CPU 할당, 평균 반환시간 = 평균실행시간+평균대기시간

      - SJF : 작업이 끝나기까지의 실행 시간 추정치가 가장 작은 작업을 먼저 실행하는 것으로 FIFO보다 평균대기시간이 작지만 긴 작업의 경우 FIFO보다 더 크고 예측하기 어려움 -> 실행시간이 큰 작업은 무한연기의 가능성이 있는데, 이는 AGING 기법을 통해 강제 우선순위를 부여하여 해결, 즉 긴 작업은 계속해서 추가되는 작업에 밀리니 강제로 먼저 실행

      - HRN : SJF 방식의 단점을 보완한 것으로, 우선순위 계산식 = (대기시간 + 서비스시간) / 서비스시간

  2] 선점 스케줄링 : 효율적, 양보

      - 우선 순위가 높은 다른 프로세스가 할당된 CPU를 강제로 빼앗는 방법

      - 실시간 처리, 대화식 분할 처리(오버헤드 발생)

      - RR : 대화식 시분할 시스템을 위해 고안된 방식으로 fifo방식, 할당되는 시간이 클 경우 FCFS 기법과 같아지고 작을 경우 문맥교환 및 오버헤드가 자주 발생 /  각 항목은 정해진 최대 시간만큼만 진행하고 자리를 넘겨주고, 나머지 작업이 다 수행된 뒤 남은 작업들을 다시 반복

      - SRT : SJF 방식의 선점형 기법으로 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교해 가장 짧은 시간을 요구하는 프로세스에게 CPU를 할당 / 즉 진행중인 프로세스의 남은 시간과 새로 들어온 프로세스의 남은 시간을 비교해 기존 것은 중지하고 더 짧은 것을 실행

 

9. 문맥교환

1) 다중 프로그래밍 시스템에서 운영체제에 의해 중앙처리장치가 할당되는 프로세스를 변경하기 위해 현재 중앙처리장치를 사용하여 실행하고 있는 프로세스의 상태 정보를 저장하고 앞으로 실행될 프로세스의 상태 정보를 설정한 뒤 중앙처리장치를 할당해 실행이 되도록 하는 작업 -> 오버헤드의 큰 요인 중 하나

 

10. 노화 기법

1) 자원이 할당되기를 오랜 시간 동안 기다린 프로세스에게 기다린 시간에 비례해 높은 우선순위를 부여해 가까운 시간 안에 자원이 할당되도록 하는 것으로, 우선 순위 스케줄링에서 무한 연기를 방지