운영체제
· 약 51분
운영체제
- 사용자와 하드웨어 간의 인터페이스 제공
목적
- 하드웨어를 효율적 사용하도록 성능 향상
- UI 제공
- 성능요소
- 처리율
- 응답시간
- 사용가능도
- 신뢰도
제어프로그램
- 감시 프로그램
- 데이터 관리 프로그램
- 작업 제어 프로그램
처리 프로그램
- 언어번역 프로그램
- 서비스 프로그램
- 문제 프로그램
구성 요소
- 프로세스 관리
- 주기억장치 관리
- 보조기억장치 관리
- 입출력 관리
- 파일 관리
프로세스 기 능
- 생성 및 소멸
- 동기화
- 일시중지 및 재실행
- 프로세스 간 통신
- 보호 시스템
- 네트워크 관리
- 명령해석 시스템
종류
- 일괄처리 시스템
- 실시간 시스템
- 시분할 시스템
- 다중 프로그램 시스템: 여러 개의 프로갦이 동시에 실행되는 것처럼 처리하는 방식
- 다중 처리 시스템: 동시에 프로그램을 수행할 수 있는 CPU를 여러 개 두고 각각 분담하여 처리하는 방식
- 분산처리 시스템
- 결함허용 시스템: 시스템 일부가 고장나더라도 전체 시스템은 계속 가동할 수 있는 시스템
발달 과정
- 50년대: 일괄 처리 시스템
- 60년대: 다중 프로그래밍, 멀티 프로그래밍, 시분할, 실시간 처리 시스템
- 70년대: 멀티모드 시분할 시스템
- 80년대: 병렬 프로그램 실행, 펌웨어
- 90년대: GUI
- 00년대: 64bit
입출력장치 발전추세
프로그램에 의한 입출력
- CPU에서 실행되는 프로그램에 의해 입출력을 직접 제어
- CPU는 입출력장치에 명령을 보낸 후 동작이 완료될 때까지 대기
- CPU는 주기적으로 주변장치의 상태를 반복적으로 검사하는 폴링 방식
- 자원낭비가 발생
인터럽트 처리에 의한 입출력
- 입출력 인터페이스가 주변장치의 상태를 검사하여 준비상태가 되면 인터럽트 신호 발생
- 프로그램 상태를 스택에 저장한 후 문맥교환 과정을 통해 인터럽트 서비스 프로그램을 수행
- 주변장치에 명령을 보낸 후 결과가 올 때까지 CPU는 다른 작업을 수행할 수 있어 효율이 높다.
DMA
- 직접 메모리 접근 입출력
- CPU는 상태정보, 제어정보만을 교환하게 하고 데이터 전송은 주변장치와 기억장치 간에 직접 교환하게 하는 방식
- 시스템 버스상에 모듈이 하나 추가되어야 한다.
- CPU를 통하지 않고 한 번에 한 단어씩 직접 기억장치로부터 모든 데이터 블록을 전송한다.
- 전송이 완료되면 DMA모듈은 CPU에게 인터럽트 신호를 보내고 CPU는 전송의 시작과 끝 부분에만 관여한다.
- 사이클 스틸링: 버스를 사용하기 위해 CPU의 동작을 일시적으로 중단시키는 기법
채널
- DMA 개념을 확장하여 구현한 입출력만을 위한 전용 처리장치
- CPU처럼 독자적으로 주기억장치에 저장된 명령어를 처리할 수 있는 프로세스
종류
- 선택 채널: 채널 하나를 하나의 입출력장치가 독점해서 사용하는 방식
- 멀티플렉서 채널: 한 채널에 여러 개의 입출력장치를 연결하여 시분할 공유방식으로 입출력하는 저속 입출력 방식
- 블록 멀티플렉서 채널: 셀렉터 채널과 멀티플렉서 채널 방식을 결합한 방식
기억장치 인터리빙
- 인접한 메모리 위치를 서로 다른 뱅크에 둠으로 동시에 여러 곳에 접근할 수 있게 한다.
- 주기억장치의 구조적 개선으로 접근속도를 개선시키는 방법
- MAR과 MBR을 연결한 것을 기억모듈이라고 한다.
- 블록단위 전송이 가능하므로 DMA에서 많이 사용한다.