일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 터치디자이너 timeline
- touchdesinger
- 파이썬
- 터치디자이너 reference
- 터치디자이너 인터페이스
- 터치디자이너 참조
- particleGPU
- 터치디자이너 list
- 터치디자이너 클론
- ableton live 10
- 터치디자이너 Instancing
- 터치디자이너 파이썬
- 터치디자이너 if
- 터치디자이너 함수
- touchdesigner GPU
- 터치디자이너 오퍼레이터
- 터치디자이너 강의
- 파이썬reference
- displace
- 터치디자이너 interface
- 파이썬 if
- 터치디자이너
- 터치디자이너 튜토리얼
- 터치디자이너 replicator
- TouchDesigner
- touchdesigner displace
- 터치디자이너 python
- 터치디자이너 에이블톤
- TDableton
- touchdesigner particle
- Today
- Total
caLAB
[운영체제 8주차] 하루 30분 컴퓨터 과학 공부하기 본문
가상메모리
지금 당장 필요로 하는 것만 올리는 것이 가상메모리이다. 원래 프로세스가 500mb일 때 지금 당장 사용하는게 100mb라면 100mb만 main memory에 올려서 사용하도록 cpu가 명령하여 마치 cpu가 전체적으로 봤을 때 500mb를 사용하는 것처럼 보이게 하는 것을 가상메모리라고 한다. 올릴 때는 일반적으로 페이지 단위로 올린다. main memory를 프레임 단위로 나눠서 페이지를 올린다. 페이지 단위로 올리기 때문에 메모리 공간이 연속적일 필요는 없다. 모든 프로세스를 올리는 것이 아니라 페이지 중 필요한 것만 올리는 것을 demand page라고 한다. 페이지 테이블 안에는 일반적으로 들어가는 내용이 페이지가 main memory 몇 번째에 있는가에 대한 index가 존재한다. 모든 페이지가 다 올라가 있는 것은 아니기 때문에 valid 한지에 대해서 체크(valid bit) 하는 열이 있다.
메모리가 가득차면, 추가로 페이지를 가져오기 위해서 페이지 교체를 한다. page out(페이지 몰아내기) page in(페이지 가져오기)를 하게 된다. victim page는 몰아내는 페이지이다. 그렇다면, 어떤 페이지를 몰아내야 될까? 페이지가 수정된 경우에는 다시 하드 디스크에 갈 때 다시 write를 해야된다. 그렇기 때문에 write를 하지 않아도 되는 수정이 안 된 페이지를 victim page로 선택하는 것이 좋다. 이를 체크하기 위해서 page table에 한 bit(열)를 추가해서 수정된 것에 대해서 체크하도록 한다. 이를 modified bit라고 칭한다.
페이지 교체
메모리에 페이지를 올릴 때 메모리가 꽉차게 되면 메모리에 있는 페이지를 올려야 되는 페이지와 교체한다고 배웠다. 교체되는 페이지를 victim page라고 한다. 그렇다면, 어떤 페이지를 교체 해야될까? 이에 대한 알고리즘에 대해서 알아보자.
페이지 교체 알고리즘
- FIFO(First-In First-Out) : 메모리에 먼저 올라온 것을 먼저 내보내는.
- OPT(Optimal) : 미래에 사용되지 않을 페이지를 먼저 내보내는.
- LRU(Least-Recently-Used) : 최근에 사용되지 않은 것을 먼저 내보내는.
대부분의 컴퓨터는 LRU 알고리즘을 사용하여 페이지를 교체한다.
Global Replacement VS Local Replacement
메모리가 꽉 찼을 때 메모리의 전체에서 선택하는 것을 Global Replacement라고 하고,
victim page를 선택할 때 메모리 상의 자기 프로세스에서 선택하는 것을 Local Replacement라고 한다.
메모리의 효율면에서는 Global Replacement가 좋다.
프레임 할당
쓰레싱
보통 프레임 수가 증가하면 CPU 이용률이 증가한다. 하지만, 일정 범위를 넘어가게 되면 CPU 이용률이 감소하게 된다. 그 이유는 빈번하게 page in / page out이 일어나기 때문이다. 디스크를 읽고 쓸 때 CPU가 일을 못하기 때문에 CPU 이용률이 낮아지게 된다. 이를 쓰레싱이라고 말한다.
-> 쓰레싱 해결법 : 메모리에 적절하게 프로세스를 할당.
파일 할당
보조 기억장치인 하드디스크에서 이루어짐. 하드디스크는 트랙과 섹터로 구분되어 있어서 헤더를 통해서 파일을 읽거나 쓴다. 블록 단위로 읽고 쓴다. 블록의 사이즈가 크면 한 번에 많이 읽어올 수 있지만 블록 사이즈 보다 작은 파일을 저장할 때는 빈 공간이 커진다.
[파일 시스템]
- 연속 할당 : 연속적으로 할당. hole들이 곳곳에 생기면서 외부 단편화가 발생하게 됨.
- 연결 할당 : 링크로 파일 연결(포인터 사용). 파일이 흩어져 있기 때문에 속도가 느림. 디스크 낭비 x.
- 색인 할당
'개발 공부 > 컴퓨터 과학' 카테고리의 다른 글
[개발 공부 자료]개발자를 위한 공부 자료 모음 (0) | 2022.02.22 |
---|---|
[운영체제 9주차] 하루 30분 컴퓨터 과학 공부하기 (0) | 2021.11.02 |
[운영체제 6주차] 하루 30분 컴퓨터 과학 공부하기 (0) | 2021.09.27 |
[운영체제 5주차] 하루 30분 컴퓨터 과학 공부하기 (0) | 2021.09.16 |
[운영체제 4주차] 하루 30분 컴퓨터 과학 공부하기 (0) | 2021.09.15 |