[OS] 3-3. 단일 사용자 연속 기억장치 할당

공부 스파이럴·2024년 3월 13일
0

운영체제

목록 보기
18/27

단일 사용자 연속 기억장치 할당

  • 초기 컴퓨터 시스템에서는 임의의 시간에 한 사용자만이 시스템을 사용하였으므로, 사용료가 비싼 편
  • 오늘날의 공유 시스템(shared system)은 훨씬 복잡한 사용료 계산 알고리즘 이용
  • 사용자 프로그램의 크기는 주기억장치의 용량보다 클 수 없으나, 오버레이(overlay) 기법에 의해서 주기억장치보다 더 큰 프로그램의 실행이 가능

  • 오버레이 기법 : 프로그래머가 한정된 주기억장치를 확장하여 사용할 수 있는 방법을 제공하는 것

단일프로그래밍 환경에서의 문제점(1)

  • 프로그램의 크기가 주기억장치의 가용 공간보다 클 경우
    • 해결
      • 중첩 구조 (overlay structure) 사용
      • 컴파일러 및 링커, 로더의 지원 필요

단일프로그래밍 환경에서의 문제점(2)

  • 사용자 프로세스로부터 커널을 보호하는 기법 필요
    • 해결
      • 경계 레지스터 (bound register) 사용 : 사용자 프로세스가 접근하는 주소값이 경계 레지스터의 주소값보다 큰 경우에만 허락

단일프로그래밍 환경에서의 문제점(3)

  • 시스템 자원의 낭비
    • 시스템 내에 프로세스가 하나만 존재함으로써 자원의 낭비초래
  • 시스템 성능의 저하(performance degradation)
    • 해결
      • 다중 프로그래밍 기법 사용 : 동시에 여러 프로그램들이 적재되도록 함

시스템 보호

  • 운영체제가 사용자로부터 보호
  • 사용자 프로그램이 운영체제 영역에 들어가려고 하면 명령어의 실행은 중단되고 적절한 오류 메시지와 함께 작업을 종료
  • 사용자가 입출력과 같은 서비스를 받기 위해 때때로 운영체제에 들어갈 필요가 있을 수 있는데, 이때에는 슈퍼바이저 호출(SVC: supervisor Call) 명령과 같은 특별한 명령어를 사용하여 사용자가 운영체제에 서비스를 요청

0개의 댓글