본문 바로가기
이론/운영체제

[OS] 순차처리, 단순 일괄처리, 멀티프로그래밍 일괄처리

by ohojee 2023. 7. 16.

순차처리

운영체제가 지원되지 않아 프로그래머가 하드웨어 직접 다룸

단점

  • 스케줄링
    • 등록용지 이용해 30분씩 기계 사용시간 예약 ⇒ 예약해놓은 시간보다 작업이 빨리 끝난다면 처리 시간 낭비 ⇒ 예약해놓은 시간 안에 작업을 끝내지 못한 경우에도 작업 종료
  • 준비시간
    • 작업을 수행하기 위해서는 컴파일러 & 프로그램을 주기억장치에 적재 → 컴파일된 프로그을 저장장치에 저장 → 컴파일된 프로그램과 함수들을 적재하여 링크 과정 필요 but 이 일련의 과정 속에서 오류 발생 → 처음부터 다시 실행

 

단순 일괄처리 시스템

컴퓨터가 비싸기에 컴퓨터의 이용률을 향상시키기 위해 개발

모니터라는 소프트웨어를 사용하기에 사용자는 컴퓨터에게 직접 명령을 내리지 않아도 o

사용자는 작업을 카드나 테이프에 담아 컴퓨터 오퍼레이터에 제출 → 오퍼레이터는 작업을 모니터가 처리할 수 있도록 batch(작업 묶음)를 입력장치에 전달 → 각 프로그램 실행이 완료되면 제어가 모니터로 넘어감 → 모니터는 자동으로 다음 프로그램 적재

사용자 프로그램은 유저 모드(메모리의 특정 영역과 특권 명령어 사용 x)에서 동작

모니터는 커널모드(메모리의 특정 영역과 특권 명령어 사용 o)에서 동작

단점

  • 작업 처리 순서가 자동으로 결정되더라도 처리기는 처리할 일이 없어 유휴 상태에 놓일 수 o
  • 입출력 장치의 속도 <<<<< 처리기

모니터 관점/처리기 관점

  • 모니터 관점
    • 모니터는 일련의 사건 제어 ⇒ 모니터의 대부분이 항상 사용이 가능하도록 주기억장치에 적재 <= 상주모니터
    • 모니터의 나머지 부분은 유틸리티와 공용 함수(작업 실행 초기에 모니터로 적재하는 서브루틴)로 구성
    • 작업을 한 번에 하나씩 읽어들임 → 하나의 작업을 사용자 프로그램 영역에 읽어들이면 제어가 그 작업으로 넘어감 → 작업이 완료되면 제어는 다시 모니터로 넘어감 → 모니터는 즉시 다음 작업 읽어들임
  • 처리기 관점
    • 다음 작업은 주기억장치의 다른 부분으로 읽어들임 → 작업읽기가 완료되면 처리기는 사용자 프로그램의 시작 부분으로 분기 → 프로그램 종료 || 에러 → 처리기는 다음에 수행할 명령어를 모니터 프로그램으로부터 가져옴

⇒ 스케줄링 문제 해결 가능, 중간 유휴시간 없이 최대한 신속히 수행, 작업 준비 시간 낭비 x

필요한 하드웨어 기능

  • 메모리 보호
    • 수행 중인 사용자 프로그램은 메모리 영역을 변경하면 x, 이러한 시도가 있다면 하드웨어는 제어를 모니터로 넘겨야 o → 모니터는 작업수행을 중도에 중단하고 에러 메세지 출력, 다음 작업 적재
  • 타이머
    • 단일 작업이 시스템을 독점하지 못하도록
  • 특권 명령어
    • 모니터만이 수행할 수 있는 명령어 ex) 입출력 명령어
    • 처리기가 사용자 프로그램을 처리하는 도중 특권명령어를 만나면 에러 발생, 모니터로 제어 넘어감
  • 인터럽트
    • 사용자 프로그램에게 제어를 넘겨주거나 넘겨받을 수 o

상주 모니터의 메모리 구조

 

멀티프로그래밍 일괄처리 시스템(멀티태스킹)

한 작업이 입출력 완료 대기 → 처리기는 입출력 대기를 하지 않을 것 같은 다른 작업으로 제어 넘김

효율적인 일괄처리 o

but 많은 작업

의 경우 사용자와 컴퓨터 간의 직접 대화모드 제공하는 것이 좋음(⇒ 시분할)

단일프로그래밍
멀티프로그래밍

 

시분할 시스템(대화형 멀티프로그래밍)

다수의 사용자가 처리기 시간 공유

사용자 프로그램이 일정 시간동안 번갈아 수행 ⇒ 다수의 사용자가 터미널을 이용해 동시에 시스템에 접근 o

⇒ 컴퓨터를 독점적으로 사용하는 것처럼 느낌

정해진 시간 간격으로 현재 수행 중인 사용자는 선점되고 다른 사용자 적재 → 선점되었던 사용자 프로그램 수행을 재개하기 위해 새로운 사용자 프로그램 데이터를 읽기 전에 데이터를 디스크에 저장하여 보존

CTSS

  • 주기억장치 크기: 32000개의 36비트워드
  • 제어가 대화형 사용자에게 할당 → 사용자 프로그램과 데이터는 나머지 27000워드에 적재
  • 작업은 메모리 내의 항상 같은 장소에 적재 → 재배치 작업이 필요 x
  • 필요한 부분은 디스크로 내보냄 → 디스크 사용 횟수 최소화

문제점

  • 여러 개의 작업이 수행된다면 각 작업들은 다른 작업으로부터 보호되어야 o(ex) 메모리 간섭)
  • 적당한 접근 권한을 가진 사용자만이 특정 파일에 접근할 수 있도록 o

댓글