온라인 IT 교육최강 (www.gisa79.com) 강의정보처리필기강사조대호 차시명 [OS-01 강 ] 운영체제의개요와학습전략차시 1 차시 학습내용 운영체제의개요와학습전략 학습목표 운영체제의개념과시스템소프트웨어를이해할수있다 운영체제학습계획을세울수있다 학습내용 1. 운영체제의개념및종류 (1) 개념 1) 운영체제는컴퓨터시스템의자원들을효율적으로관리 2) 사용자가컴퓨터를편리하고효과적으로사용할수있도록환경을제공 3) 사용자와컴퓨터간의인터페이스로서동작하는시스템소프트웨어 4) 운영체제의계층은하드웨어와유틸리티사이임 (2) 목적 1) 사용자와컴퓨터간의인터페이스제공 2) 자원의효율적인운영및자원스케줄링 3) 데이터공유및주변장치관리 4) 처리능력및신뢰성향상 5) 응답시간단축, 반환시간단축및입 출력을위한편의제공 6) 시스템의오류를처리 (3) 성능 1) 성능평가기준 - 1 -
1 처리능력 (Throughput) : 일정시간내에시스템이처리하는일의양 2 반환시간 (Turnaround time) : 시스템에작업을의뢰한시간부터처리가완료될때까지걸리는시간 3 사용가능도 (Availability) : 시스템을사용할필요가있을때즉시사용가능한정도 4 신뢰도 (Reliability) : 시스템이주어진문제를정확하게해결하는정도 2) 성능평가방법 1 벤치마크 (Benchmark) : 프로그램을수행하여성능을측정 2 시뮬레이션 (Simulation) : 시스템의내부특성을프로그램으로표현하여성능측정 3 수학적모델 : 수학적공식으로성능을측정 (4) 운영체제의운용기법종류 1) 일괄처리시스템 (Batch Processing System) 1 초기의컴퓨터시스템에서사용된형태로, 일정량의데이터를모아서한꺼번에처리하는방식 2 일괄처리를위해적절할작업제어언어 (JCL, Job Control Language) 를제공해야함 3 컴퓨터시스템을효율적으로사용 4 반환시간이늦지만하나의작업이모든자원을독점하므로 CPU 유휴시간을줄임 2) 다중프로그래밍시스템 (Multi Programming System) 1 하나의 CPU 와주기억장치를이용하여여러개의프로그램을동시에처리하는방식 2 CPU 의사용률과처리량이증가 3) 시분할시스템 (Time Sharing System) 1 여러명의사용자가사용하는시스템에서컴퓨터가사용자들의프로그램을번갈아가며처리해줌으로써각사용자에게독립된컴퓨터를사용하는느낌을받음 2 라운드로빈 (Round Robin) 방식을사용 3 다중프로그래밍방식과결합하여모든작업이동시에진행되는것처럼대화식처리가가능 4 시스템의전체효율은좋아지나개인별사용자입장에서는반응속도가느려질수있음 5 긴작업에대한응답시간을최소한으로줄이는것을목적 6 각사용자는기억장치에독립된프로그램 4) 다중처리시스템 (Multi Processing System) 1 여러개의 CPU와하나의주기억장치를이용하여여러개의프로그램을동시에처리하는방식 2 여러 CPU는하나의메모리를공유함으로단일운영체제에의해관리 3 프로그램의처리속도는빠름 4 기억장치, 입 / 출력장치등의자원공유에대한문제관리가어려움 5) 실시간처리시스템 (Real Time Processing System) 1 데이터발생또는데이터에대한처리요구가있는즉시처리하여응답해주는시스템 2 주어진적정시간내에답을주어야함 3 우주선운행이나레이더추적기, 은행의온라인업무등시간에제한을두고수행되어야하는작업에사용 6) 다중모드시스템 (Multi Mode System) : 일괄처리시스템, 시분할시스템, 다중처리시스템, 실시간 처리시스템을한시스템에서모두제공하는방식 - 2 -
온라인 IT 교육최강 (www.gisa79.com) 7) 분산처리시스템 (Distributed Processing System) : 여러개의컴퓨터를통신회선으로연결하여 하나의작업을처리하는방식 운영체제의운용기법발달과정 2. 시스템소프트웨어의종류 (1) 시스템소프트웨어개념 1) 시스템소프트웨어는시스템전체를작동시키는프로그램으로, 프로그램을주기억장치에적재시키거나인터럽트관리, 장치관리, 언어번역등의기능을담당 2) 시스템소프트웨어의대표적인프로그램으로운영체제가있으며, 그외에는언어번역프로그램, 매크로프로세서, 링커, 라이브러리, 로더등이있음 (2) 시스템소프트웨어의구성 1) 제어프로그램 1 감시프로그램 (Supervisor Program) : 시스템의모든동작및상태를관리하고감독하는프로그램으로, 운영체제의가장중요한역할을담당 2 작업제어프로그램 (Job Control Program) : 어떤업무를처리하고다른작업으로의이행을자동적으로처리하기위한준비및작업의연속처리를위한스케줄링, 시스템의자원할당을담당 3 데이터관리프로그램 (Data Management Program) : 주기억장치와보조기억장치간의자료이동, 파일의조작및처리, 입출력자료들과프로그램간의연결등시스템에서취급하는파일과데이터를표준적인방법으로처리할수있도록관리하는프로그램 2) 처리프로그램 1 언어번역프로그램 (Language Translate Program) : 어셈블러, 컴파일러, 인터프리터 2 서비스프로그램 (Service Program) : 연결편집기, 라이브러리 3 문제프로그램 (Problem Program) : 사용자가작성한프로그램 3. 언어번역프로그램 - 3 -
1) 어셈블리어 (Assembly Language) 의개요 : 어셈블리어는사용자가이해하기어려운기계어대신에명령기능을쉽게연상할수있는기호를기계어와 1:1로대응시켜코드화한기호언어 1 프로그램에기호화된명령및주소를사용 2 어셈블리어의기본동작은동일하지만 CPU마다사용되는어셈블리어가다를수있음 3 기계어와비교하여읽기쉽고프로그램에데이터를사용하기쉬움 4 기계어로번역하는과정이필요 2) 어셈블러 (Assembler) : 어셈블러는어셈블리어로작성된원시프로그램을기계어로된목적프로그램으로번역하는언어번역프로그램 1 단일패스어셈블러와이중패스어셈블러가있음 2 두개의 Pass로구성하면기호를정의하기전에사용할수있어프로그램작성이용이함 3) 컴파일러 (Complier) 1 고급언어로작성된프로그램전체를목적프로그램으로번역한후링킹작업을통해실행가능한프로그램을생성함 2 번역시간이오래걸리지만실행속도가빠름 3 사용언어에는 FORTRAN, COBOL, C, C++ 등이있음 4) 인터프리터 (Interpreter) 1 프로그램이직접실행되므로목적프로그램이생성되지않음 2 번역속도는빠르지만실행속도가느림 3 사용언어에는 BASIC, LISP, APL 등이있음 4 한줄단위로번역과실행을함 5 원시프로그램의변화에대한반응이빠름 4. 링커 (Linker) 와로더 (Loader) 1) 링커 (Linker) : 링커는언어번역프로그램이생성한목적프로그램과라이브러리, 또다른실행프로 그램등을연결하여실행가능한로드모듈을만드는시스템, 소프트웨어이며연결편집기라고도함 2) 로더 (Loader) : 로더는프로그램을실행시키기위해보조기억장치로부터컴퓨터주기억장치에프로그램을 적재하는시스템소프트웨어 1 로더의기능 할당 (Allocation) : 프로그램을실행하기위해기억장치내에옮겨놓을공간을확보하는기능 연결 (Linking) : 프로그램을할당된주소에연결하는기능 재배치 (Relocation) : 보조기억장치에저장된프로그램이사용하는주소들을할당된기억장소의실제주소로배치시키는기능 적재 (Loading) : 프로그램을할당된기억공간에실제로옮기는기능 2 로더의종류 - 4 -
Complie And Go Loader - 언어번역프로그램이로더의기능까지수행하는방식 - 연결기능은수행하지않고할당, 재배치, 적재작업을모두언어번역프로그램이담당 절대로더 (Absolute Loader) - 목적프로그램을기억장소에적재시키는기능만수행하는로더 - 할당및연결작업은프로그래머가수행하며, 재배치는언어번역프로그램이담당 직접연결로더 (Direct Linking Loader) - 로더의기본기능 4가지를모두수행하는일반적인로더 ( 재배치로더, 상대로더 ) 요점정리 1. 운영체제의개념과시스템소프트웨어를정리한다 2. 운영체제학습계획을세워봅니다. 다음차시예고 수고하셨습니다. 다음 2 주차에서는 프로세스 (Process) 관리, 교착상태 에대해서학습하도록하겠습니다. - 5 -