운영체제의 개요
제 1 장 운영체제의 개요
1. 운영체제의 개념
1) 운영체제의 정의
― 운영체제(Operation System : OS)란 컴퓨터 시스템의 자원을 보다 효율적으로 관리, 운영함으로써 사용자들에게 편의성을 제공하고자 하는 시스템 프로그램.
2) 운영체제의 역할
① 사용자와 컴퓨터 시스템간의 인터페이스 기능 제공.
② 사용자간의 H/W 공동 사용 허용. ③ 사용자간의 데이터 공유.
④ 프로세서, 메모리, I/O 장치 관리. ⑤ 컴퓨터 시스템의 오류 처리 담당.
3) 운영체제의 목적
― 사용자 인터페이스 제공, 성능 향상 등 한정된 자원을 효율적으로 사용하는데 있다.
4) 운영체제의 구성
① 제어 프로그램 : 감시 프로그램, 데이터 관리 프로그램, 작업 관리 프로그램
② 처리 프로그램 : 서비스 프로그램, 언어 번역 프로그램, 문제 처리 프로그램
2. 운영체제의 발달 과정
1) 순차 처리(Sequential Processing System)
― 초기 운영체제의 형태로 순차적 처리하는 방법. 작업 준비과정의 수작업으로 인한 유휴시간이 많음.
2) 일괄 처리(Batch Processing System)
― 유사한 성격의 작업을 한꺼번에 모아서 한 작업씩 처리하는 방법.
3) 상주 모니터
― 전이시간(=작업전환시간,Transition)동안 발생하는 유휴시간을 줄이기 위해 한 P/G에서 다른 P/G으로 제어가 자동적으로 넘어가도록 하기 위해 기억장치에 상주하고 있는 초기 운영체제.
로더(Loader) |
→ 적재기 |
장치 구동기 |
→ 입출력 장치 구동 |
작업순서 처리기 |
→ 순서처리 |
작업 제어 언어 번역기 |
→ 제어카드 해석기 |
사용자 영역 |
↘ 경계 레지스터 |
4) On-line 과 Off-line
① On-Line : Computer와 단말기가 직접 연결되어 작업을 직접 수행할 수 있도록 하는 방식.
② Off-Line : 컴퓨터와 단말기가 직접 연결되지 않은 형태.
5) Buffering 과 Spooling
① Buffering : 속도가 느린 I/O장치와 CPU사이의 속도 차를 줄이기 위해 주기억 장치(Buffer)를 이용하는 방법.
② Spooling : Buffering과 같은 목적으로 용량이 크고 신속한 엑세스가 가능한 보조기억장치(디스크)를 이용하는 방법.
※ 스풀링의 특징
- 동시 I/O체제
- I/O와 다른 작업을 중복 수행
- 빠른 수행시간
3. 운영체제의 종류
1) 다중 프로그래밍 체제(Multi Programming System)
― 여러 개의 P/G을 동시에 주기억장치에 적재하여 수행함으로써 CPU의 효율을 높이기 위한 방법.
2) 다중 프로세싱(Multi Processing : 다중처리기)
― 두 개 이상의 프로세서를 사용하여 하나의 System을 구성(처리량의 극대화).
3) 시분할 체제(Time-sharing System)
― 여러 명의 사용자가 하나의 컴퓨터 시스템을 공유하는 형식으로, 시간을 분할하여 라운드 로빈(RR:Round Robin) 방식으로 처리하는 방법(응답시간의 극대화).
4) 실시간 체제(Real-time System)
― 즉시 처리(비행기 제어, 교통제어, 가솔린 제조 공정에 이용)
5) 분산 처리 체제(Distributed Processing System)
― 여러 개의 컴퓨터를 통신 회선으로 연결하여 작업과 자원을 분산시켜 처리하는 방식.
4. 시스템 소프트웨어의 종류
※ 언어 번역 과정
|
․ Compiler : C, COBOL 등과 같은 고급언어로 작성된 P/G 번역.
․ Interpreter : BASIC 등과 같은 언어로 작성된 P/G 번역.(목적 P/G 생성 안됨)
Source 프로그램 → 번역 → 목적(Object)P/G 생성 → Link → Load → 실행 |
1) 어셈블러(Assembler)
― 어셈블리 언어로 작성된 P/G을 기계어로 번역해 주는 프로그램.
- 2-Pass로 구성(심볼을 정의하기 전에 사용할 수 있는 프로그램 작성 용이 함).
․ 1-Pass : 심볼테이블 작성 ․ 2-Pass : 목적코드 생성(심볼테이블 이용)
2) 매크로 프로세서(Macro Processor)
① 매크로 : 반복되는 부분을 한 개의 이름으로 묶어 사용자가 편리하게 사용할 수 있도록 하는 문장으로 번역시 매크로 프로세에 의해 확장되어 원래의 어셈블리 언어의 명령문으로 변경됨.
② 처리 과정 : 매크로 정의 인식 → 매크로 정의 저장 → 매크로 호출 인식 → 매크로 호출 확장
3) 로더(Loader)
― 목적 P/G을 주기억장치에 적재하여 실행 가능하도록 해주는 시스템 프로그램.
① 기능 : 할당(Allocation), 연결(Link), 재배치(Relocation), 적재(Load) (※ 연결은 Linker가 담당)
② 종류
㉠ Compile-and-Go 로더 : 번역기가 로더의 역할까지 담당.
㉡ 절대(Absolute) 로더 : 미리 지정된 주기억 장치 주소에 적재 기능만 담당하는 간단한 로더.
㉢ 직접 연결 로더(Direct linking Loader) : 적재되는 위치에 종속적인 모든 주소를 할당된 주기억 장치 주소와 일치 시켜주는 로더로 가장 일반적 임.(=상대로더,재배치로더)
㉣ 오버레이 로더(Overlay Loader) : 주기억 장치 용량보다 더 큰 프로그램을 분할하여 , 그 분할된 서로 다른 프로그램을 실행 시간에 같은 영역에 적재하여 실행하는 방법.
※ 운영체제 세대별 분류
1세대 : 일괄처리(진공관)
2세대 : 다중 프로그래밍, 실시간 시스템, 가상메모리, 시분할 처리(트랜지스터)
3세대 : 다중 모드 시스템(집적회로)
4세대 : 네트워크, 분산 운영체제(LSI)
5세대 : 인공지능(VLSI)
'Theory > Operating System' 카테고리의 다른 글
운영체제의 실제 (0) | 2018.08.12 |
---|---|
분산 운영체제의 기본 (0) | 2018.08.12 |
정보관리 (0) | 2018.08.12 |
기억 장치 관리 (0) | 2018.08.12 |
프로세스 관리 (0) | 2018.08.12 |
댓글