순차처리
운영체제가 지원되지 않아 프로그래머가 하드웨어 직접 다룸
단점
- 스케줄링
- 등록용지 이용해 30분씩 기계 사용시간 예약 ⇒ 예약해놓은 시간보다 작업이 빨리 끝난다면 처리 시간 낭비 ⇒ 예약해놓은 시간 안에 작업을 끝내지 못한 경우에도 작업 종료
- 준비시간
- 작업을 수행하기 위해서는 컴파일러 & 프로그램을 주기억장치에 적재 → 컴파일된 프로그을 저장장치에 저장 → 컴파일된 프로그램과 함수들을 적재하여 링크 과정 필요 but 이 일련의 과정 속에서 오류 발생 → 처음부터 다시 실행
단순 일괄처리 시스템
컴퓨터가 비싸기에 컴퓨터의 이용률을 향상시키기 위해 개발
모니터라는 소프트웨어를 사용하기에 사용자는 컴퓨터에게 직접 명령을 내리지 않아도 o
사용자는 작업을 카드나 테이프에 담아 컴퓨터 오퍼레이터에 제출 → 오퍼레이터는 작업을 모니터가 처리할 수 있도록 batch(작업 묶음)를 입력장치에 전달 → 각 프로그램 실행이 완료되면 제어가 모니터로 넘어감 → 모니터는 자동으로 다음 프로그램 적재
사용자 프로그램은 유저 모드(메모리의 특정 영역과 특권 명령어 사용 x)에서 동작
모니터는 커널모드(메모리의 특정 영역과 특권 명령어 사용 o)에서 동작
단점
- 작업 처리 순서가 자동으로 결정되더라도 처리기는 처리할 일이 없어 유휴 상태에 놓일 수 o
- 입출력 장치의 속도 <<<<< 처리기
모니터 관점/처리기 관점
- 모니터 관점
- 모니터는 일련의 사건 제어 ⇒ 모니터의 대부분이 항상 사용이 가능하도록 주기억장치에 적재 <= 상주모니터
- 모니터의 나머지 부분은 유틸리티와 공용 함수(작업 실행 초기에 모니터로 적재하는 서브루틴)로 구성
- 작업을 한 번에 하나씩 읽어들임 → 하나의 작업을 사용자 프로그램 영역에 읽어들이면 제어가 그 작업으로 넘어감 → 작업이 완료되면 제어는 다시 모니터로 넘어감 → 모니터는 즉시 다음 작업 읽어들임
- 처리기 관점
- 다음 작업은 주기억장치의 다른 부분으로 읽어들임 → 작업읽기가 완료되면 처리기는 사용자 프로그램의 시작 부분으로 분기 → 프로그램 종료 || 에러 → 처리기는 다음에 수행할 명령어를 모니터 프로그램으로부터 가져옴
⇒ 스케줄링 문제 해결 가능, 중간 유휴시간 없이 최대한 신속히 수행, 작업 준비 시간 낭비 x
필요한 하드웨어 기능
- 메모리 보호
- 수행 중인 사용자 프로그램은 메모리 영역을 변경하면 x, 이러한 시도가 있다면 하드웨어는 제어를 모니터로 넘겨야 o → 모니터는 작업수행을 중도에 중단하고 에러 메세지 출력, 다음 작업 적재
- 타이머
- 단일 작업이 시스템을 독점하지 못하도록
- 특권 명령어
- 모니터만이 수행할 수 있는 명령어 ex) 입출력 명령어
- 처리기가 사용자 프로그램을 처리하는 도중 특권명령어를 만나면 에러 발생, 모니터로 제어 넘어감
- 인터럽트
- 사용자 프로그램에게 제어를 넘겨주거나 넘겨받을 수 o
멀티프로그래밍 일괄처리 시스템(멀티태스킹)
한 작업이 입출력 완료 대기 → 처리기는 입출력 대기를 하지 않을 것 같은 다른 작업으로 제어 넘김
효율적인 일괄처리 o
but 많은 작업
의 경우 사용자와 컴퓨터 간의 직접 대화모드 제공하는 것이 좋음(⇒ 시분할)
시분할 시스템(대화형 멀티프로그래밍)
다수의 사용자가 처리기 시간 공유
사용자 프로그램이 일정 시간동안 번갈아 수행 ⇒ 다수의 사용자가 터미널을 이용해 동시에 시스템에 접근 o
⇒ 컴퓨터를 독점적으로 사용하는 것처럼 느낌
정해진 시간 간격으로 현재 수행 중인 사용자는 선점되고 다른 사용자 적재 → 선점되었던 사용자 프로그램 수행을 재개하기 위해 새로운 사용자 프로그램 데이터를 읽기 전에 데이터를 디스크에 저장하여 보존
CTSS
- 주기억장치 크기: 32000개의 36비트워드
- 제어가 대화형 사용자에게 할당 → 사용자 프로그램과 데이터는 나머지 27000워드에 적재
- 작업은 메모리 내의 항상 같은 장소에 적재 → 재배치 작업이 필요 x
- 필요한 부분은 디스크로 내보냄 → 디스크 사용 횟수 최소화
문제점
- 여러 개의 작업이 수행된다면 각 작업들은 다른 작업으로부터 보호되어야 o(ex) 메모리 간섭)
- 적당한 접근 권한을 가진 사용자만이 특정 파일에 접근할 수 있도록 o
'이론 > 운영체제' 카테고리의 다른 글
[OS] 운영체제의 결함 종류 (0) | 2023.07.20 |
---|---|
[OS] 운영 체제의 주요 성과, 프로세스 (0) | 2023.07.19 |
[OS] 운영체제의 기능 (0) | 2023.07.15 |
[OS] 메모리 계층 구조 (0) | 2023.07.06 |
[OS] 컴퓨터 기본 구성요소/인터럽트 (0) | 2023.06.23 |
댓글