CHAP1
정의 변화:
Donovan(하드웨어)->Shaw(인터페이스)->Peterson(자원 효율적 관리)
목적: 생산성 향상
1) 사용자의 편의성 제고(손쉽게 컴퓨터 사용)
2) 시스템 성능의 극대화
- 처리능력 증대(일정 시간 내에 시스템이 처리하는 일의 양)
- 반환시간 단축(일의 처리를 컴퓨터에 의뢰하고 나서 결과를 얻을 때까지 소요되는 시간-> 반횐시간=대기시간+실행시간)
- 사용가능도 증대(컴퓨터시스템 내의 한정된 자원을 신속하고 충분히 지원해 줄 수 있는 정도)
- 신뢰도 향상(시스템이 정확하게 작동되는 정도)
사용자관점(운영체제가 사용자에게 무엇을 지원할 것인가?)-PCB(Process Control Block)
- 프로그램 생성 작업을 지원
- 프로그램의 정상적 수행을 지원
- 입출력 기긱에 대한 정상적 접근을 지원
- 원하는 화일에 대한 각종 접은 요구를 지원
- 시스템 자원과 데이터의 불법적 접근 보호
- 통신 지원, 계정 관리, 오류 검출과 조치
시스템 자원 괸리자(기억장치, 프로세서, 입출력장치, 파일 ,네트워크 등)
1) 각종 자원에 대한 현재 상태 파악
2) 자원 분배를 위한 스케줄링 정책 파악
3) 분배 정책 수행을 위한 자원 할당 작업
4) 자원의 회수 작업 및 그에 따른 정보 변경
계층화된 운영체제 개념
운영체제의 주요기능:
접근 제어 기능
자원 관리 기능
데이터 제어 기능
장치 접근 기능
사용자 프로그램 |
입출력 버퍼링 기능 |
콘솔 장치 구동 기능 |
주기억 장치 관리 기능 |
CPU 스케줄링 기능 |
하드웨어 |
계층적 접근 방법의 장점:
시스템 내부 동작에 대한 변경이나 재정의가 용이하고 기능과 특징에 따라 구성 요소의 분리 및 조합이 용이하다. 외부 인터페이스의 변경없이 하위 계층에 대한 자유로운 접근이 가능하다.
상주 모니터 개념
프로그램으로 작성하여 주기억 장치에 상주시킴
버퍼링
입출력 장치와 CPU간의 처리 속도 차이에서 발생하는 CPU의 대기시간을 최소화 하기 위해 주기억장치의 일부를 버퍼로 설정
->잠깐 대기해서 처리 속도르 맞추는 것
스풀링(spooling)
입력,출력되는 자료를 하드디스크에 파일형태로 저장했다가 입력, 혹은 출력한다.
->작업을 모아두었다가 차례차례 출력하는 것
다중 프로그래밍(Multiprograming) 개념
두 개 이상의 프로그래밍을 주기억 장치에 저장하고 프로그래밍을 실행한다.
시분할 시스템(TSS:Time Sharing System)
CPU 시간을 각 사용자가 균등하게 분할하여 사용
모든 사용자를 동일하게 취급
대화형 체제 가능
CPU할당 시 1회 최대 사용시간->시간 조각(Time Slice)
Channel
CPU의 명령에 의해 자율적으로 I/O 실행
목적
컴퓨터 시스템 속도 증가
CCW
CPU가 Channel에 게 주는 명령어(이동 할 데이터 장소, 저장 장소, 크기 , 입력,/출력 등 지정)
CAW(CCW가 저장된 주소)
CSW(Channel Status Word)(채널의 현재 상태 정보를 갖고 있음)
CPU 보호
- CPU 사용순서를 제어한다.(사용자 프로그램이 CPU작업을 시행하는 동한 무한루프에 빠져 모니터로 제어권이 넘어오지 못하는 경우를 방지
- Timer에 의한 CPU 사용시간 제어
- 일정시간 경과 후에는 인터럽트 발생시킴
- CPU의 일정 사용시간= 시간 조각:Time Slice
- CPU 스케줄러(Process Scheduller, Job Scheduller, Traffic Controller)가 담당
주기억장치 보호
- 프로그래밍 실행과정에서 할당 받은 메모리 영역만 사용하게 관리->주기억 장치내의 내용이 불법적으로 지워지거나 허가없이 접근 또는 유출되는 것을 방지(어디가 문제인건지 바로 알아차리기 쉬움)
- 단일 사용자 시스템의 경우 -> 모니터 모드와 사용자 모드로 나뉘고 모니터는 주기억장치 공간, 사용자는 사용자 적재 공간만 접근 가능)-1개의 모니터 부분과 여러 개의 사용자 부분으로 나뉨
- 한계레지스터(프로그램이 자신에게 할당된 메모리 범위를 벗어나지 않도록 제한
입출력 장치 보호(이중 모드(사용자, 모니터) 방식)
- 한 사용자의 입출력 작업이 끝나지 않은 경우에 다른 사용자의 작업이 끼여들지 않도록 방지
인터럽트(컴퓨터 작동 중에 예기치 않은 요구가 발생한 경우)
종류:
SVC: 사용자 → 운영체제 요청
- 사용자 프로그램이 운영체제의 서비스를 요청할 때 발생하는 소프트웨어 인터럽트(ex_ 시스템 호출, I/O 요청 등)
입출력: I/O 완료 알림
- 입출력 장치가 작업 완료 또는 오류 발생시 CPU에 작업종료나 상태 변경을 알리기 위해 발생(ex_프린터 출력 완료)
프로그램 검사: 실행 오류
- 프로그램 실행 중 오류(에러) 가 발생했을 때 발생(ex_0으로 나누기, 오버플로우, 명령어 오류 등)
외부: 환경 변화
- 타이머,콘솔 인터럽트, 전원 이상 등 외부 환경 요인에 의해 발생(ex_타이머 시간 초과, 전원 꺼짐 경고 등)
기계 검사: 하드웨어 이상
- CPU,메모리 등 하드웨어 자체의 고장이나 이상 상태를 감지 했을 때 발생(ex_메모리 고장, 버스 에러 등)
실시간 처리 시스템(Real-Time processing System)
- 처리할 데이터가 발생하면 즉시 처리
다중 처리기 시스템
- 하나의 시스템에 두 개 이상의 CPU를 보유
- 주기억 공간, 주변기기는 공유
- 병렬처리-> 시스템 속도가 빠르고 안정성 증가
KEY WORD
운영체제 개념 | 하드웨어와 사용자 사이를 중재하며 자원을 효율적으로 관리하는 시스템 소프트웨어. |
운영체제의 관점 | ① 자원 관리자(Resource Manager): 자원 할당·회수. ② 사용자 관점: 사용 편의성 제공. |
운영체제의 발달 과정 | 일괄처리 → 다중 프로그래밍 → 시분할 시스템 → 실시간 시스템 등으로 발전. |
상주 모니터 | 항상 메모리에 상주하며 작업을 자동으로 제어하던 초기 OS 형태. |
버퍼링 (Buffering) | 입출력 장치와 CPU 간 속도 차를 완화하기 위해 데이터를 임시 저장. |
스풀링 (Spooling) | 버퍼링의 확장 개념으로, 입출력 요청을 디스크에 저장해 순차적으로 처리. |
다중 프로그래밍 | 여러 프로그램을 동시에 메모리에 적재해 CPU 이용률을 향상시키는 기법. |
시분할 시스템 | CPU 시간을 분할하여 여러 사용자가 동시에 사용하는 것처럼 보이게 함. |
다중 프로세스 | 하나의 시스템에서 여러 프로세스를 동시에 실행하는 환경. |
Channel 개념 | I/O 전담 하드웨어. CPU 없이 입출력을 처리 가능하게 해줌. |
Channel 장점 | CPU와 독립적 I/O 수행 → CPU 효율 향상. |
Channel 종류 | Selector, Multiplexer, Block Multiplexer 채널 등이 있음. |
보호의 필요성 | 사용자 간 자원 충돌 방지 및 시스템 안정성 확보. |
보호 대상 | 메모리, CPU, 파일, 입출력 장치 등 모든 공유 자원. |
보호 개념/장점 | 권한 관리 및 격리를 통해 시스템 안정성 및 보안성 증가. |
Interrupt 개념 | 하드웨어/소프트웨어가 CPU에 특정 이벤트 발생을 알림. |
Interrupt 필요성 | 비동기 처리, 효율적인 자원 사용 및 사용자 응답성 향상. |
Interrupt 처리과정 | 인터럽트 → 벡터 확인 → ISR 실행 → 원래 작업 복귀. |
Interrupt 관련 모듈 | Interrupt vector (주소 테이블), ISR (서비스 루틴). |
실시간 시스템 | 정해진 시간 안에 작업을 처리해야 하는 시스템 (예: 항공 제어). |
다중 처리기 시스템 | 두 개 이상의 CPU가 하나의 메모리를 공유하며 협력 처리. |
분산 처리 시스템 | 여러 컴퓨터가 네트워크로 연결되어 분산된 처리 수행. |
커널 (Kernel) | 운영체제의 핵심 부분으로, 자원 관리와 시스템 호출 처리 담당. |
UNIX / Linux / MVS | UNIX: 다중 사용자 OS, Linux: UNIX 기반 오픈소스, MVS: IBM 메인프레임용 OS. |
계층화된 운영체제 | 기능을 계층별로 나눠 구성한 OS 구조로, 모듈화와 유지보수 용이성 확보. |
계층화 장점 | 복잡도 감소, 유지보수 용이, 모듈별 테스트 가능. |
처리능력 (Throughput) | 단위 시간당 처리 가능한 작업 수. |
반환시간 (Turnaround Time) | 작업 제출부터 완료까지 걸린 전체 시간. |
응답시간 (Response Time) | 사용자 입력 → 첫 응답까지 걸리는 시간. |
사용 가능도 (Availability) | 시스템이 정상적으로 사용 가능한 시간의 비율. |
Donovan, Shaw, Peterson | 운영체제 이론에 영향을 끼친 학자들. 동기화 이론과 알고리즘 등 제안. |
관리 자원 | CPU, 메모리, I/O 장치, 파일 시스템 등을 포함. |