Ch2 운영 체제 개관
운영체제 역할
-조정자: 시스템을 운영해 다른 프로그램이 작업할 수 있는 환경 제공
-자원할당자 또는 관리자: 자원 할당 업무
-입출력장치와 사용자 프로그램 제어: 프로그램 실행 제어, 입출력장치 동작,통제 역할
운영체제 발달 과정
- 제1세대: 기계어
- 제2세대: batch processing
한 작업으로부터 다른 작업으로부터의 전환을 자동 처리
- 제3세대: multi programming
multi programming 두개 이상의 프로그램이 주기억장치에 적재실행되어있을 때 cpu가 다른 프로세스를 진행하면 idle-time 유휴시간을 줄일 수 있다.
일괄처리, 시분할처리, 다중처리 제공
운영체제의 구성
슈퍼바이저 프로그램
- 운영체제 중에 가장 중심적인 프로그램, 주기억장치의 빈 공간 할당, 제어,입출력처리 스케줄 제어, 인터럽트처리
- 커널과 유사
- 시스템 전체를 제어하고 감독하는 프로그램
작업 관리 프로그램
- 사용자가 시스템에게 어떤 작업을 수행하게 지시하는 명령을 해독하여, 그 작업이 수행되게 준비0하고, 작업이 끝나면 마무리
- 여러개의 작업 수행할 때 연속적인 작업이 이루어지게 통제, 시스템 자원 할당 및 작업을 연속처리하려는 스케줄 담당
- 시스템에 자원을 할당하고, 작업의 연속적인 처리를 위한 스케줄링 작업 수행
데이터 관리 프로그램
- 주기억장치와 보조기억장치 사이의 데이터 전송 파일의 조작 및 처리
- 입출력장치와 프로그램간의 논리적 연결
통신관리프로그램
- 중앙처리장치와 연결된 각 주변 장치 간의 신호 교환이 원활히 이루어지게 통제하고 외부 통신 회선과 연결되었을 때 통신망을 제어하여 통신이 이루어지게 하는 역할 담당
언어번역프로그램
- 사용자가 프로그래밍언어로 작성한 원시프로그램을 기게코드인 목적 프로그램으로 번역하는 역할 담당
ex) 컴파일러, 어셈블러, 인터프리터, 크로스 컴파일러 등
사용자가 더 편리하게 컴퓨터를 사용할 수 있게 지원하는 프로그램
ex)로더, 라이브러리 관리 프로그램
*주기억장치와 보조기억장치 사이의 데이터 전송 방법(블록단위)
1) cpu가 직접 제어(공수)
2)입출력 인터럽트
3)DMA: Direct Memory Access
직접 주기억장치로 가서 데이터 공수
- 로더: 목적프로그램을 입력하여 기억장치에 적재하고 수행시작시키는 프로그램
- 링킹-로드모듈-적재-재배치

운영체제의 기능
- 계층구조 관점의 기능
1) 프로세서(cpu) 관리: 프로세서 동기화와 연관된 작업 수행
시간, 각 작업에 따른 스케줄 제어
2) 주기억 장치 관리: 주기억장치의 할당,회수 작업 수행
3) 프로세스관리(실행중인 프로그램): 프로세스의 시작,정지,제거,할당 등의 작업 수행
4) 주변 장치 관리: 보조기억 장치에 대한 공간 할당, 입출력장치에 대한 스케줄링
가용 공간 관리, 공간할당, 보조기억장치 스케줄링
5) 파일관리: 파일의 생성,소멸,유지에 대한 작업과 파일의 로그와 파일의 보호와 보안 작업
cpu가 s/w에 의해 주기억장치,주변장치, 파일 모두 관리한다
*cpu스케줄링: 한 프로세스에서 다른 프로세스로 cpu를 할당하는 과정
운영체제의 커널= 모든 운영체제 모듈=supervisor
51p
자원 추상화: 디스크입출력에 대한 저수준의 세부사항은 api 입출력함수만을 사용한 프로그램을
이용하여 라이브러리 형태로 구현한다.
우리가 차의 엔진 구조를 모르더라도 운전방법만 알면 차를 운전 할 수 있는것과같다
운영체제의 종류
52p
일괄처리시스템: 여러개의 입력되는 자료를 일정기간동안 모아두었다가 한번에 처리하는 방식
시분할시스템: 여러개의 프로그램을 주기억장치에 적재시켜놓고 cpu스케줄링을 통해 공동으로 cpu를 사용하는 시스템
다중프로그래밍시스템: cpu효율을 극대화하려는 방법으로 여러개의 사용자 프로그램이 동시에 실행되는것처럼 처리하는 방식
한 프로그램이 cpu 쓰는동안 다른 프로그램은 입출력장치 사용
다중처리시스템: cpu가 다수 존재하여 다중작업 구현
- 강결합: 프로세서들이 해당 작업을 처리함에있어 매우 밀접하게 동기화해야하는 시스템
- 약결합: 프로세서간의 동기화문제가 중요하지 않고 2개 이상 프로세서가 결합하여 높은 작업 처릴량을 제공하는데 목적을 두는 시스템
실시간 시스템: 처리를 요구하는 자료가 발생할 때마다 즉시 처리하는 방식
분산처리 시스템: 하나의 대형컴퓨터에서 수행하던 기능을 지역적으로 분산된 여러 미니컴퓨터에 분담시킨 뒤 통신망을 통해 교신하고 처리하는 시스템