라기의 IT's time

[OS-01강] 운영체제의 개요와 학습전략

[OS-01강]운영체제의개요와학습전략.pdf
0.09MB

학습내용
☞ 운영체제의 개요와 학습전략
학습목표
☞ 운영체제의 개념과 시스템소프트웨어를 이해 할 수 있다
 운영체제 학습계획을 세울 수 있다
학습내용
1. 운영체제의 개념 및 종류 
(1) 개념 
 1) 운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리
 2) 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공
 3) 사용자와 컴퓨터 간의 인터페이스로서 동작하는 시스템 소프트웨어 
 4) 운영체제의 계층은 하드웨어와 유틸리티 사이임

 

(2) 목적 
 1) 사용자와 컴퓨터 간의 인터페이스 제공
 2) 자원의 효율적인 운영 및 자원 스케줄링 
 3) 데이터 공유 및 주변장치 관리
 4) 처리 능력 및 신뢰성 향상
 5) 응답시간 단축, 반환시간 단축 및 입․출력을 위한 편의 제공
 6) 시스템의 오류를 처리
(3) 성능 
 1) 성능 평가 기준

 

① 처리능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
② 반환시간(Turnaround time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸리는 시간
③ 사용 가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
④ 신뢰도(Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도
2) 성능 평가 방법
① 벤치마크(Benchmark) : 프로그램을 수행하여 성능을 측정 
② 시뮬레이션(Simulation) : 시스템의 내부 특성을 프로그램으로 표현하여 성능 측정
③ 수학적 모델 : 수학적 공식으로 성능을 측정
(4) 운영체제의 운용기법 종류 
1) 일괄 처리 시스템(Batch Processing System) 
① 초기의 컴퓨터 시스템에서 사용된 형태로, 일정량의 데이터를 모아서 한꺼번에 처리 하는 방식
② 일괄 처리를 위해 적절할 작업 제어 언어(JCL , Job Control Language)를 제공해야 함
③ 컴퓨터 시스템을 효율적으로 사용
④ 반환 시간이 늦지만 하나의 작업이 모든 자원을 독점하므로 CPU 유휴 시간을 줄임
2) 다중 프로그래밍 시스템(Multi Programming System) 
① 하나의 CPU와 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
② CPU의 사용률과 처리량이 증가
3) 시분할 시스템(Time Sharing System)
① 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아 가며 
 처리해 줌으로써 각 사용자에게 독립된 컴퓨터를 사용하는 느낌을 받음
② 라운드 로빈(Round Robin)방식을 사용
③ 다중 프로그래밍 방식과 결합하여 모든 작업이 동시에 진행되는 것처럼 대화식 처리가 가능
④ 시스템의 전체 효율은 좋아지나 개인별 사용자 입장에서는 반응 속도가 느려질 수 있음
⑤ 긴 작업에 대한 응답 시간을 최소한으로 줄이는 것을 목적
⑥ 각 사용자는 기억 장치에 독립된 프로그램
4) 다중 처리 시스템(Multi Processing System) 
① 여러 개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
② 여러 CPU는 하나의 메모리를 공유함으로 단일 운영체제에 의해 관리
③ 프로그램의 처리 속도는 빠름
④ 기억장치, 입/출력 장치 등의 자원 공유에 대한 문제 관리가 어려움
5) 실시간 처리 시스템(Real Time Processing System) 
① 데이터 발생 또는 데이터에 대한 처리 요구가 있는 즉시 처리하여 응답해 주는 시스템
② 주어진 적정 시간 내에 답을 주어야 함
③ 우주선 운행이나 레이더 추적기, 은행의 온라인 업무 등 시간에 제한을 두고 수행되어야 하는 작업에 사용
6) 다중 모드 시스템(Multi Mode System) : 일괄 처리 시스템, 시분할 시스템, 다중 처리 시스템, 실시간
 처리 시스템을 한 시스템에서 모두 제공하는 방식

 

7) 분산 처리 시스템(Distributed Processing System) : 여러 개의 컴퓨터를 통신 회선으로 연결하여 
 하나의 작업을 처리하는 방식
※ 운영체제의 운용 기법 발달 과정

 

2. 시스템 소프트웨어의 종류
(1) 시스템 소프트웨어 개념 
1) 시스템 소프트웨어는 시스템 전체를 작동시키는 프로그램으로, 프로그램을 주기억장치에 적재시키거나
 인터럽트 관리, 장치 관리, 언어 번역 등의 기능을 담당
2) 시스템 소프트웨어의 대표적인 프로그램으로 운영체제가 있으며, 그 외에는 언어 번역 프로그램, 
 매크로 프로세서, 링커, 라이브러리, 로더 등이 있음
(2) 시스템 소프트웨어의 구성 
1) 제어 프로그램 
① 감시 프로그램(Supervisor Program) : 시스템의 모든 동작 및 상태를 관리하고 감독하는 
 프로그램으로, 운영체제의 가장 중요한 역할을 담당
② 작업 제어 프로그램(Job Control Program) : 어떤 업무를 처리하고 다른 작업으로의 이행
 을 자동적으로 처리하기 위한 준비 및 작업의 연속처리를 위한 스케줄링, 시스템의 자원 할
 당을 담당
③ 데이터 관리 프로그램(Data Management Program) : 주기억장치와 보조기억장치 간의 자
 료 이동, 파일의 조작 및 처리, 입출력 자료들과 프로그램 간의 연결 등 시스템에서 취급하
 는 파일과 데이터를 표준적인 방법으로 처리할수 있도록 관리하는 프로그램
2) 처리 프로그램 
① 언어 번역 프로그램(Language Translate Program) : 어셈블러, 컴파일러, 인터프리터 
② 서비스 프로그램(Service Program) : 연결 편집기, 라이브러리
③ 문제 프로그램(Problem Program) : 사용자가 작성한 프로그램
3. 언어번역 프로그램

 

1) 어셈블리어(Assembly Language)의 개요 : 어셈블리어는 사용자가 이해하기 어려운 기계어 대신에 
 명령 기능을 쉽게 연상할 수 있는 기호를 기계어와 1:1로 대응시켜 코드화한 기호 언어
① 프로그램에 기호화된 명령 및 주소를 사용
② 어셈블리어의 기본 동작은 동일하지만 CPU마다 사용되는 어셈블리어가 다를 수 있음
③ 기계어와 비교하여 읽기 쉽고 프로그램에 데이터를 사용하기 쉬움
④ 기계어로 번역하는 과정이 필요
2) 어셈블러(Assembler) : 어셈블러는 어셈블리어로 작성된 원시 프로그램을 기계어로 된 목적 프로그
 램으로 번역하는 언어 번역 프로그램
① 단일 패스 어셈블러와 이중 패스 어셈블러가 있음
② 두개의 Pass로 구성하면 기호를 정의하기 전에 사용할 수 있어 프로그램 작성이 용이함 
3) 컴파일러(Complier)
① 고급 언어로 작성된 프로그램 전체를 목적 프로그램으로 번역한 후 링킹 작업을 통해 실행
 가능한 프로그램을 생성함
② 번역 시간이 오래 걸리지만 실행 속도가 빠름
③ 사용언어에는 FORTRAN, COBOL, C, C++ 등이 있음
4) 인터프리터(Interpreter) 
① 프로그램이 직접 실행되므로 목적 프로그램이 생성되지 않음
② 번역 속도는 빠르지만 실행 속도가 느림
③ 사용언어에는 BASIC, LISP, APL 등이 있음
④ 한 줄 단위로 번역과 실행을 함
⑤ 원시 프로그램의 변화에 대한 반응이 빠름
4. 링커(Linker)와 로더(Loader)
1) 링커(Linker) : 링커는 언어 번역 프로그램이 생성한 목적 프로그램과 라이브러리, 또 다른 실행 프로
 그램 등을 연결하여 실행 가능한 로드 모듈을 만드는 시스템, 소프트웨어이며 연결 편집기라고도 함
2) 로더(Loader) : 로더는 프로그램을 실행시키기 위해 보조기억장치로부터 컴퓨터 주기억장치에 프로그램을
 적재하는 시스템 소프트웨어
 ① 로더의 기능 
 • 할당(Allocation) : 프로그램을 실행하기 위해 기억장치 내에 옮겨 놓을 공간을 확보하는 기능
 • 연결(Linking) : 프로그램을 할당된 주소에 연결하는 기능
 • 재배치(Relocation) : 보조기억장치에 저장된 프로그램이 사용하는 주소들을 할당된 기억 
 장소의 실제 주소로 배치시키는 기능
 • 적재(Loading) : 프로그램을 할당된 기억 공간에 실제로 옮기는 기능
 
② 로더의 종류

 

• Complie And Go Loader 
 - 언어 번역 프로그램이 로더의 기능까지 수행하는 방식
 - 연결 기능은 수행하지 않고 할당, 재배치, 적재 작업을 모두 언어 번역 프로그램이 담당
 • 절대 로더(Absolute Loader) 
 - 목적 프로그램을 기억 장소에 적재시키는 기능만 수행하는 로더
 - 할당 및 연결 작업은 프로그래머가 수행하며, 재배치는 언어 번역 프로그램이 담당 
 • 직접 연결 로더(Direct Linking Loader)
 - 로더의 기본 기능 4가지를 모두 수행하는 일반적인 로더(재배치 로더, 상대 로더)
요점정리
1. 운영체제의 개념과 시스템소프트웨어를 정리한다
2. 운영체제 학습계획을 세워 봅니다. 다음차시예고
수고하셨습니다. 다음 2주차에서는 “프로세스(Process) 관리, 교착상태”에 대해서 학습하도록 하겠습니다.

TOP