코딩 이야기

[2022-2] 운영체제 - 221020 본문

University Study/운영체제

[2022-2] 운영체제 - 221020

always7767 2022. 10. 20. 15:01

1) 지난 시간 복습 (22/10/13 (목))
- 레지스터 : CPU 내에 있음 (각각의 레지스터마다 용도가 지정되어 있음)
- 최초 적합(first-fit), 최적 적합(best-fit), 최악 적합(worst-fit) 예시 : 사람 수에 따른 식당 자리 
  → 최초 적합 (first-fit) : 사람 인원 수가 2명이라면 바로 앞에 보이는 2인석에 앉음
  → 최적 적합 (best-fit) : 사람 인원 수가 4명이라면 4인석 자리에 앉음
  → 최악 적합 (worst-fit) : 사람 인원 수가 4명인데, 6인석 자리에 앉는 것

2) 기억장치 할당 방법
  (1) 단일 사용자 연속 기억장치 할당
    - 초기의 컴퓨터 시스템에서 사용
    - 한 사용자가 시스템 전체 자원을 마음대로 사용 (비싼 요금)
    - 단점 : 주기억장치 낭비가 심할 가능성이 많음 / 입출력 처리시, CPU는 유후(idle)상태 (단일 사용자이기 때문) => 컴퓨터 핵심 자원 낭비
    - 사용자 프로그램의 크기는 주기억장치 용량보다 클 수 없음
    - 오버레이(overlay) 기법으로 해결
       → 오버레이(overlay) 기법 : 용량이 큰 프로그램을 분할 가능한 몇 개의 부분으로 나눈 뒤, 각 부분의 실행이 필요할 때마다 필요한 부분만 주기억장치
                                                             로 입력시켜 실행할 수 있게 하는 것

    - 시스템(운영체제) 보호는 경계 레지스터로 해결
    - 운영체제 기능 이용 시 (예 : 입출력) 슈퍼바이저 호출(SVC : Super Visor Call) 이용

  (2) 고정 분할 기억장치 할당
    - 초기의 다중 프로그래밍 시스템에서 사용
    - 주기억장치를 일정 수의 고정된 크기*로 분할하고, 실행 중인 프로세스에 각각 할당
            → 다중 프로그래밍의 프로세스 수는 분할 수에 의해 결정
            → *고정된 분할의 크기가 모두 같지는 않음
        ▶ 절대 번역 및 로딩
            → 지정된 분할에서만 실행되도록 절대 어셈블러, 절대 컴파일러에 의해 번역
            → 지정된 분할이 사용 중이면 다른 분할이 비어있어도 대기해야 함
        ▶ 재배치 가능 번역 및 로딩
            → 작업이 로딩될 수 있는 분할이면 어느 분할에서든지 실행될 수 있도록 번역
            → 절대 번역의 번거로움, 기억장소 낭비 등을 피할 수 있음

        ▷ 시스템(운영체제) 보호는 여러 개의 경계 레지스터로 해결
            → 운영체제 기능 이용시 (예 : 입출력) 슈퍼바이저 호출(SVC : Super Visor Call) 이용
        ▶ 분할 공간의 크기 결정 문제와 단편화
            → 분할의 크기와 개수를 결정하는 것은 고정 분할 기억장치 할당 기법의 중요한 문제
                  (1) 단편화 (fragmentation) - 그림 3-7 (기억장치의 단편화 현상) 참고
                       (1)-(1) 내부 단편화 (internal fragmentation) 
                       (1)-(2) 외부 단편화 (external fragmentation) 
※ 단편화는 고정 분할 기억장치 할당 기법의 피할 수 없는 문제점

  (3) 가변 분할 기억장치 할당
    - 그림 3-8 (가변 분할 다중 프로그래밍에서의 초기의 분할 할당) 참고
    - ❗시스템 동작 초기에는 기억공간의 낭비 없음

    - 시간이 지남에 따라 기억공간의 낭비 / 단편화는 피할 수 없음

■ 단편화 극복 방안 
(1) 합병 (coalescing)
- 인접한 공백들을 하나의 큰 공백 공간으로 만듬 (그림 3-10 (가변 분할 다중 프로그래밍에서의 공백의 합병) 참고)

(2) 집약 (compatction)
- 쓰레기 수집 (garbage collection)

- 흩어져 있는 공백들을 모아 하나의 큰 공백 공간으로 만들기
    → 사용 중인 공간들을 한쪽으로 모음 (그림 3-11 (기억장소의 집약) 참고)
- 이 과정에서 발생할 수 있는 비용(모든 다른 일들이 일시중지됨)을 신중히 고려해야
- 집약 방법에 따라 비용은 달라질 수 있음 (그림 3-12 (기억장소의 집약 방법에 따른 비교) 참고)

  (4) 기억장치 배치기법
     1) 최초 적합 (fist-fit)
     2) 최적 적합 (best-fit)

     3) 최악 적합 (worst-fit)
→ 그림은 볼 것!

  (5) 기억장치 교체 (swapping)
    - 그림 3-14 (다중 프로그래밍 시스템에서의 기억장치 교체) 참고
    - 안쓰는 프로세서는 통으로 내리고 새로운 프로세서 하나만 올라옴

== 2022-2 중간고사 관련 ==
시험 범위 : 1장 ~ 3장
ㆍ책에 연습문제 참고 (주관식 문제도 있음)
ㆍ4지선다형과 괄호 안에 말 넣기 등 문제도 넣음
ㆍ주관식 위주로 문제 낼 가능성 있음

'University Study > 운영체제' 카테고리의 다른 글

[2022-2] 운영체제 - 221110  (0) 2022.11.10
[2022-2] 운영체제 - 221103  (0) 2022.11.03
[2022-2] 운영체제 - 221013  (0) 2022.10.13
[2022-2] 운영체제 - 220929  (0) 2022.09.29
[2022-2] 운영체제 - 220922  (0) 2022.09.22
Comments