응용SW기초

운영체제 OS

뚜벅뚜벅뚜벅이 2022. 7. 10. 15:37
반응형

⊙ 운영체제

: 사용자와 하드웨어 간에 인터페이스 담당

:CPU, 기억장치, 입출력 장치를 관리

-목적

① 컴퓨터 시스템의 효율적은 관리와 사용

② 신뢰도, 처리량 향상

③ 응답시간 단축

2. 운영체제의 처리 방식

1) 일괄 처리 시스템

-처리할 작업을 일정 기간 또는 일정량이 될 때까지 모아두었다가 한 번에 처리하는 방식.

-효율적, 유휴(Idle) 잦음

2) 다중 처리 시스템

-두 개 이상의 프로세서로 구성되어 다중 작업을 구현.

-작업 속도와 신뢰성 향상.

3) 다중 프로그래밍 시스템

-CPU 효율 극대화

-CPU 유휴 시간 줄임

4) 시분할 처리 시스템 (Time-sharing processing system)

-여러 사용자들이 한 컴퓨터를 동시에 이용할 수 있도록 각 사용자들에게 CPU에 대한 일정 시간을 제공

(번갈아가면서 시간을 제공하기 때문에 사용자는 사용에 불편함을 느끼지 않음)

5) 실시간 처리 시스템

-요구하면 즉시처리. 변동 발생 시 즉시 수정 가능

6) 분산 처리 시스템

-네트워크를 통해 연결돼 여러 컴퓨터 시스템에 작업과 자원을 나누어 처리하게 하는 방식

3. 운영체제의 자원관리

1) 프로세스 관리 : 프로세스의 생성, 삭제, 중지, 계속, 동기화, 프로세스 간의 통신 등 관리

2) 기억장치 관리 : 주기억장치 공간의 할당, 회수 등을 담당

3) 정보 관리 : 기억장소의 할당, 빈 공강의 관리, 디스크 스케줄링 등 담당

4) 입출력장치 관리 : 입출력 할당 등 담당

5. 성능평가

-처리능력 : 단위시간등 처리 할 수 있는 양

-변환 시간 : 작업이 시작된 시간에서부터 끝날떄까지 소요된 시간

-사용가능도 : 시스템을 고장없이 계속 사용할 수 있는지를 나타내기 위한 것

-신뢰도 : 시스템이 주어진 환경아래에서 얼마나 원활하게 기능을 수행 할 수 있는가를 나타내는 것

6. 운영체제의 종류

-윈도우

-유닉스

-리눅스

-매킨토시(애플)

⊙ 프로세스 관리

1. 프로세스

:실행중이거나 곧 실행이 가능한 프로세스의 제어 블록 Process Control Block (PCB)을 가진 프로그램

※PCB : 프로세스에 대한 정보를 저장하고 있는 자료구조 테이블

※ 인터럽트 : 프로세서(CPU)가 명령문 수행중 예기치 못한 사건이 발생하여 다른 작업을 처리하기 위해 수행하던 일을 강제로 종료시키는 것.

인터럽트의 종류에는 SVC(Super Visor Call)인터럽트, 입출력 인터럽트 등이 있다.

2. 병행 프로세스

: 두개 이상의 프로세스가 동시에 실행

:비동기성

-프로세스간에 상호 협력하는 것

1) 병행 프로세스의 비동기성으로 인해 발생하는 문제들을 해결하기 위한 방법

①동기화 ②상호배제 ③ 임계영역

2)교착상태

:프로세스가 기다려도 일어나지 않을 문제를 기다리고 있는 것 (병행 처리와 자원공유로 인해 발생되는 문제)

※교착상태 발생 조건

-상호배제 조건

-점유와 대기 조건

-비선점조건

-환형대기 조건

3) 스케줄링

:자원요청 중 누구에게 먼저 자원을 줄지 정하는 것

4) 프로세스 스케줄링의 분류

① 방법별 분류

-선점형 : 하나의 프로세스가 이미 프로세스를 점유하고 실행중인 다른 프로세스로 부터 프로세서를 신청하며 실행하는 방법

-비선점형 : 하나의 프로세스가 자원을 할당 받았을떄 자신에게 할당된 시간 동안 다른 작업에 간섭 받지 않고 끝까지 프로세스를 소유하는 방법

②알고리즘별 분류

-선점형

ⓐ RR (Round-robin) : 프로세서를 지정된 시간 안에만 사용할 수 있는 방식(대기 큐를 둔다.)

ⓑ SRT : 준비된 상태의 프로세스들 중에서 남아있는 실행시간의 추정치가 가장 적은 프로세스를 먼저 실행하는 것

ⓒ MFQ 스케줄링 : 대기큐를 여러 개 두어 각 단계의 큐에서 제공하는 시간 내에 프로세스가 완료되지 못하면 계속 다음 단계의 큐에서는 작업이 완료될때까지 라운드 로빈(RR)방식으로 처리하는 것

MFQ 스케줄링

-비선점형

ⓐ 우선순위 스케줄링

ⓑ 기한부 스케줄링

ⓒ FIFO (First-in Fisrt-out) 스케줄링

ⓓ SJF 스케줄링 : 현재 준비되어있는 상태에 있는 프로세스들 중에서 실행시간 추정치가 가장 작은 프로세스 부터 처리하는 방식

반응형