단일 사용자 시스템 -> 다중 프로그래밍으로 변한 동기
단일 사용자 시스템이란?
단일 사용자 시스템은 사용자가 하나의 프로세스만 사용이 가능한 시스템이다.
동기 :
사용자가 하나의 프로세스를 처리하다가 다른 프로세스의 처리를 필요로 할 때의 불편함을 줄이기 위해 하나의 CPU와 주기억 장치를 이용하여 여러개의 프로세스를 동시에 처리 할 수 있는 다중 프로그래밍 시스템을 고안하게 되었다.
고정 분할이란 무엇이고, 고정 분할은 기억장치의 각 분할 공간에 무엇이 발생하는가?
- 주기억장치를 일정 수의 고정된 크기들로 분할하여 CPU가 여러 프로세스에게 할당하는 방식
(대신 이 방식은, 기억장치의 각 분할 공간에 대한 내부 단편화와 외부단편화가 발생)
고정 분할의 문제점을 고치기 위해 도입한 시스템은?
가변 분할 시스템.(작업들이 필요로 하는 만큼의 기억 공간 할당해준다.)
하지만!!!
-> 가변 분할 시스템은 내부 단편화는 해결하였지만 외부 단편화는 발생되어 완벽히 해결되지 않았다.
절대 번역과 로딩을 사용하는 고정 분할 다중 프로그래밍 시스템은?
컴파일러
재배치 가능 번역과 로딩을 사용하는 고정 분할 다중 프로그래밍 시스템?
절대로더
실제주소를 바꾸는 일을 로더 운영체제에게 주기억장치를 할당 받아서 상대주소를 + > 실제 주소로 바꿔주는 것은?
재배치 로더
여러개의 ~~~ 사용
~~ 분할시
페이징- 페이징 사상 테이블 : 가상 주소를 실제 주소로 변경
세그먼테이션 - 논리적 단위 - 세그먼트 사상 테이블 - 가상 주소를 실제 주소로 변경
페이지 부재에서 일어나는 FIFO , LRU, LFU
FIFO = First In Fisrt Out <제일 먼저 들어온 애가 제일 먼저 나간다.>
LRU = R <Recently 가장 최근 동안 사용하지 않은애를 교체>
LFU = F < Frequently 사용 횟수가 가장 적은 녀석을 교체>
문제 풀기.
1. 3개의 페이지 프레임을 갖는 시스템에서 페이지 참조 순서가 1, 2, 1, 0, 4, 1, 3일 경우
LRU알고리즘에 의한 페이지 대체의 최종 결과로 가장 적절한 것은?
① 2, 4, 3
② 1, 2, 0
③ 0, 1, 3
④ 1, 4, 3
답 : 4 >

빨리 푸는 꿀팁, 페이지 교체가 일어나고, 해당 교체 숫자말고 왼쪽에 3개를 보면 됨
2.
3개의 페이지 프레임으로 구성된 기억장치에서 다음과 같은 순서대로 페이지 요청이 일어날 때,
페이지 교체 알고리즘으로 LFU(Least Frequently Used)를 사용한다면 몇 번의 페이지 부재가
발생하는가?
(단, 초기 페이지 프레임은 비어있다고 가정한다.)
--------------------------------------------
요청된 페이지 번호의 순서 : 2, 3, 1, 2, 1, 2, 4, 2, 1, 3, 2
--------------------------------------------
① 4번
② 5번
③ 6번
④ 7번

제일 참조가 안된 녀석을 고르면 되서, 큐에 들어간 수를 세면된다.
LFU 꿀팁.
페이지 부재가 안일어났다해서 안쓰면안됨!
이렇게 부재가 일어나든 안 일어나든 다 적어야한다.
그리고 부재가 일어날때 최근에 사용되지않은 페이지를 제외해야하는데,
그리고 페이지 가 3칸까지니까 3개중에서 교체할 녀석들을 비교하면 됨, 1 2 3 중에서 교체
위 이미지처럼 큐에 들어가는걸 다 적어야 풀기 쉽다!!
LRU, LFU 끝!
- CPU의 연산 결과가 기억장치에 저장하는 쓰기 동작은 캐시기억장치뿐만 아니라 주기억장치에서도 동시에 발생,
- 데이터의 일관성을 쉽게 보장할 수 있다.
은 무슨 방식인가?
즉시 쓰기(Write-though) 방식
새롭게 생성된 중앙처리장치의 데이터를 캐시기억장치에만 기록하고,
나중에~ 기록된 블록에 대한 교체가 일어날 때 주기억장치에 기록하는 방식
무슨 방식~~?
나중 쓰기 방식(Write-back) 방식
7. 입출력 모듈의 기능에 대하여 설명하시오.
- 중앙처리장치(프로세서)와의 통신
- 입출력장치들과의 통신
- 입출력장치의 제어와 타이밍 조정
- 입출력장치의 주소지정
- 데이터 버퍼링 기능을 수행
- 오류 검출
8. 입출력의 제어 방법 3가지에 대하여 자세히 설명하시오
프로세서 제어 입출력 (프로그램 제어 입출력, 인터럽트 기반 입출력)
DMA 입출력
입출력 채널
9. 디스트 주소를 구성하는 요소와 이동 디스크의 접근 시간에 대하여 설명하시오.
★(시험에 나옴) 디스크 접근 시간(Access time)
-읽은 데이터를 주기억장치에 전달하는데 소요시간
★-탐색 시간, 회전 지연 시간, 전송 시간의 총합★
디스크 접근 시간 = 탐색 시간 + 회전 지연 + 데이터 전송 시간
tip!
디스크 주소 는 그냥 나오는 모든걸 곱하면된다.
디스트 수 X 면 수 X 면당 트랙 수 X 트랙 당 섹터 수 X 섹터당 레코드 수
디스크 접근시간을 이루는 두가지 요소는?
seek time 과 rotational delay이다.
일반적으로 디스크 스케줄링 방법은 ★탐색 시간 (seek time) ★을 최소화 하는 방법 이용
탐색시간 (seek time)> 트랙 번호를 찾음 - 회전 지연시간에 비하여 훤씬 많은 시간이 소요되기 때문
(1)FCFS (2) SSTF (3) SCAN (4) CSCAN 문제들 다 풀어보기!
FCFS : 진짜 간단하니 패스
1. SSTF 기법을 사용하는 경우, 헤드의 현재 위치가 53 트랙이고 (그전의 위치는 59 트랙이었음), 요구 큐에 는
[ 98, 180, 37, 64, 10, 28 ]의 트랙번호가 저장되어 있다. 헤드는 몇 번 트랙으로 이동하겠는가?
가. 10 나. 28 다. 37 라. 64
라. FCFS를 제외한 모든 스케줄링의 큐는 정렬한다. [ 98, 180, 37, 64, 10, 28 ] > [ 10 ,28, 37, 64, 98, 180] 이다.
여기서 헤드의 위치는 59 > 53이니까 37과 64의 사이라고 볼 수 있다.
53에서 37의 거리는 16이고, 53에서 64의 거리는 11이니까 가까운 64로 이동하게 되어, 다음 헤드는 64 즉, 라 이다.
2. 현재 헤드의 위치가 50에 있고, 요청 대기 열에는 다음과 같은 순서로 들어 있다고 가정할 때, C-SCAN(Circular-scan) 스케줄링 알고리즘에 의한 헤드의 총 이동거리는 얼마인가?
나.

큐를 순서대로 정렬해주고, 50 > 40이 제일 가까우니 왼쪽으로 이동하는 방향 <- 여기서,
50 > 40 >0으로 이동하고 0에서 70으로 가는게 아니라 트랙의 제일 오른쪽에있는 200으로 이동해서
200부터 180 > 150 가까운곳으로 이동하면된다.
4. 디스크 스케줄링에서 SCAN 기법을 사용할 경우, 다음과 같은 작업 대기 큐의 작업들을 수행하기 위한 헤드의 총 트랙 이동 거리는?(단, 초기 헤드의 위치는 30이고, 현재 0번 트랙으로 이동 중이다.)
큐를 정렬! 3 7 15 38 46으로 정렬 후 헤드위치 30 즉, 15 30 38 여기위치인데 0번트랙으로 이동중이면 15로 간다!!!!
30 > 15 > 7 > 3 으로 이동후 왼쪽 라인 끝났으므로 오른쪽의 최솟값 38 > 46으로 간다.
즉, 30 > 15 > 7 > 3 >38 > 46 이다. = 70
scan과 c-scan 은 요청이 없다고 하더라도 맨 끝 방향까지 이동을 해야 하는게 맞습니다. 이걸 개선한게 look 과 c-look 방식이고요. 여기서 나온 문제들은 기출을 기준으로 했는데요. 제가 중간에 설명을 드린 듯 한데, 실질적으로는 끝까지 이동을 하는게 맞습니다.
문제가 잘 못 된듯?
홍쌤은 SCAN과 C-SCAN은 요청이 없어서 맨 끝 방향까지 이동해야한다. 이걸 개선한게 LOOK과 C-LOOK이다..
처음 알았네..
SCAN은 무조건 이동방향의 안쪽(바깥쪽)까지 이동 후 돌아간다!!
5. 디스크 스케줄링 방법 중 LOOK 방식을 사용할 때 현재 헤드가 60 에서 50 으로 이동해 왔다고 가정할 경우 다음과 같은 디스크 큐에서 가장 먼저 처리되는 것은?
가. 50에서 제일 가까운 70으로 간다.
파일 시스템은 논리적인 저장 단위인 파일 자원을 관리하며, 파일의
액세스하고 제어하는 책임이 있는 소프트웨어이란?
파일시스템
파일 시스템에서 메모리와 I/O 효율을 위해 여러 개의 논리적 레코드(블록)에 저장 시키는 것
블로킹
- 파일을 액세스하는 동안 운영체제에 필요한 정보를 모아 놓은 자료 구조
- 파일마다 독립적으로 존재
이란?
파일 디스크립터(기술자)
'📜✏️노트 자리없어서 적는 IT 지식📜✏️' 카테고리의 다른 글
VC++ - 문제 (0) | 2024.06.17 |
---|---|
인공 지능 개론 - 시험 (0) | 2024.06.17 |
운영체제 - (7장 교착상태 문제) (0) | 2024.06.15 |
운영체제 - (병행프로세스 문제.) (2) | 2024.06.15 |
운영체제 - (리뷰 정리 시험문제) (2) | 2024.06.15 |