반응형
- 운영체제의 정의
- 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 자원이란 시스템에서 사용할 수 있는 CPU, 주기억장치, 보조기억장치, 프린터, 파일 및 정보 등
- 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 운영체제의 목적
- 처리 능력 향상 : 일정 시간 내 시스템이 처리하는 일의 양
- 반환 시간 단축 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도 향상 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도 향상 : 시스템이 주어진 문제를 정확하게 해결하는 정도
- 운영체제의 기능
- 프로세서, 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리
- 자원을 효율적으로 관리하기 위해 자원의 스케쥴링 기능을 제공
- 스케쥴링 : 어떤 자원을 누가, 언제, 어떤 방식으로 사용할지 결정
- 사용자와 시스템간의 편리한 인터페이스를 제공
- 시스템의 각종 하드웨어와 네트워크를 관레, 제어한다.
- 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공
- 시스템의 오류를 검사하고 복구
- 자원 보호 기능을 제공
- 입출력에 대한 보조 기능을 제공
- 가상 계산기 기능을 제공
- 운영체제 운용 기법
- 일괄 처리 시스템(Batch Processing)
- 초기의 컴퓨터 시스템에서 사용된 형태로, 일정량 또는 일정 기간 동안 데이터를 모아서 한꺼번에 처리하는 방식
- 급여 계산, 지불 계산, 연말 결산 등의 업무에서 사용
- 다중 프로그래밍 시스템(Multi-Programming)
- 하나의 CPU와 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
- 하나의 주기억장치에 2개 이상의 프로그램을 기억시켜 놓고, 하나의 CPU와 대화하면서 동시에 처리
- 시분할 시스템(Time Sharing)
- 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아 가며 처리해 줌으로써 각 사용자에게 독립된 컴퓨터를 사용하는 느낌을 주는 방식으로, 라운드 로빈(Round Robin) 방식이라고도 한다
- 다중 프로그래밍 방식과 결합하여 모든 작업이 동시에 진행되는 것처럼 대화식 처리가 가능하다.
- 다중 처리 시스템(Multi-Processing)
- 여러 개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
- 하나의 CPU가 고장나더라도 다른 CPU를 이용하여 업무를 처리할 수 있으므로 시스템의 신뢰성과 안정성이 높다.
- 실시간 처리 시스템(Real time Processing)
- 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출
- 우주선 운행, 레이더 추적기, 핵물리학 실험 데이터 수집, 전화교환장치 제어, 은행 온라인 업무, 좌석 예약 업무, 인공위성, 군함 등의 제어 업무 등 시간에 제한을 두고 수행되어야 하는 작업에 사용
- 다중 모드 처리(Multi-Mode Processing)
- 일괄 처리 시스템, 시분할 시스템, 다중 처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식
- 분산 처리 시스템(Distributed Processing)
- 여러 개의 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식
- 각 단말장치나 컴퓨터 시스템은 고유의 운영체제와 CPU, 메모리를 가지고 있음
- 일괄 처리 시스템(Batch Processing)
- 운영체제 운용 기법 발달 과정
- 1세대 : 일괄 처리
- 2세대 : 다중 프로그래밍, 다중 처리, 시분할, 실시간 처리
- 3세대 : 다중 모드
- 4세대 : 분산 처리
- 프로세스의 정의
- 프로세서(처리기, CPU)에 의해 처리되는 사용자, 시스템 프로그램, 즉 실행중인 프로그램을 의미한다
- 운영체제가 관리하는 최소 단위의 작업, 테스크 이다.
- 프로세스는 아래와 같은 형태로 정의 한다.
- PCB를 가진 프로그램
- 주기억장치에 저장된 프로그램
- 프로세서가 할당되는 실체
- 프로시저(부프로그램)가 활동중인 것
- 한 프로그램은 여러 개의 작은 프로그램으로 분할될 수 있는데, 이때 분할된 작은 프로그램을 의미
- 비동기적 행위를 일으키는 주체
- 다수의 프로세스가 서로 규칙적이거나 연속적이지 않고 독립적으로 실행되는 것
- 지정과 결과를 얻기 위한 일련의 계통적 동작
- 목적 또는 결과에 따라 발생되는 사건들의 과정
- 프로세스 상태 전이
출처 : https://minjiwoo.kr/185
- 제출 : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
- 접수 : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
- 준비 : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
- 실행 : 준비상태 큐에 있는 프로세서가 프로세스를 할당받아 실행되는 상태
- 대기, 보류, 블록 : 프로세스에 입출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태
- 종료 : 프로세서의 실행이 끝나고 프로세스 할당이 해제된 상태
- 스레드
- 프로세스 내에서 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
- 하나의 프로세스에 하나의 스레드가 존재하면 단일 스레드
- 하나 이상의 스레드가 존재하면 다중 스레드
- 프로세스의 일부 특징을 갖고 있기 때문에 경량 프로세스라고도 함
- 자신만의 스택과 레지스터를 갖으며 독립된 제어 흐름을 갖는다.
- 스케쥴링
- 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
- 프로세스가 생성되어 완료될 때까지 프로세스는 여러 종류의 스케쥴링 과정을 거침
- 스케쥴링 기법
- 비선점 스케쥴링(Non-preemptive)
- 이미 할당된 CPU를 다른 프로세스가 빼앗아 사용할 수 없는 스케쥴링 기법
- 비선점 스케줄링의 종류에는 FCFS(FIFO), SJF, 우선순위, HRN, 기한부 등의 알고리즘이 있음
- 선점 스케쥴링
- 하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케쥴링 기법
- 선점 스케줄링의 종류에는 Round Robin, SRT, 선점 우선순위, 다단계 큐(MQ), 다단계 피드백 큐(MFQ) 등
- 비선점 스케쥴링(Non-preemptive)
- 주요 스케쥴링 기법
- 실행 시간 : 프로세스가 실행한 시간
- 대기 시간 : 프로세스가 대기한 시간으로, 바로 앞 프로세스 까지의 진행 시간으로 계산
- 반환 시간 : 프로세스의 대기 시간과 실행 시간의 합
- 도착 시간이 있을 경우 대기시간 - 도착시간 + 실행시간 = 반환 시간
- 평균 시간 계산 : 실행 or 대기 or 반환 / 프로세스의 개수
- FCFS(Frist Come Frist Service, 선입선출) = FIFO(Frist In Frist Out)
- 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법, 가장 단순한 알고리즘
- SJF(Shortest Job Frist, 단기 작업 우선)
- 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU 할당
- HRN(Highest Response-ratio Next)
- 실행 시간이 긴 프로세스에 불리한 SJF기법을 보완하기 위한 것으로 대기 시간과 실행 시간을 이용하는 기법
- 우선순위를 계산하여 그 숫자가 가장 높은 것부터 낮은 순으로 우선순위가 부여
- 우선순위 = (대기시간 + 실행시간) / 실행시간
- RR(Round Robin)
- 시분할 시스템을 위해 고안된 방식으로 FCFS 알고리즘을 선점 형태로 변형한 기법
- 할당되는 시간이 클 경우 FCFS 기법과 같아지고 작을 경우 문맥 교환 및 오버헤드가 자주 발생
- 반환 시간 : 각 프로세스가 완료되는 시간을 이용하여 구함
- 대기 시간 : 대기 시간을 구하고자 하는 프로세스의 가장 마지막 실행이 시작되기 전까지의 진행시간을 이용하여 구하되, 프로세스가 앞에서 여러번 실행되었을 경우 실행된 시간은 제외
반응형
'국가공인 > 정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 1-2 (0) | 2025.04.07 |
---|