오늘 한 일 [DONE]
- CS 스터디에서 어제 배운 운영체제 파트를 복습했다. 스레싱과 메모리 할당에 대한 내용이다.
- CS 스터디에서 운영체제 파트를 공부했다. 페이지 교체 알고리즘과 프로세스 컴파일 과정을 알아보았다.
- 저번에 틀렸던 BFS 알고리즘 문제를 해결했다. 기초가 탄탄하면 오류를 빠르게 잡을 수 있음을 느꼈다.
- 다시 TIL을 쓴다! 나를 위해서 쓰는 것임을 잊지 말고 부담을 내려 놓자.
📝오늘 배운 내용 간단 요약
1️⃣ 페이지 교체 알고리즘
가상 메모리에는 있지만 물리 메모리 RAM에는 없는 것에 접근할 때 발생하는 페이지 폴트,
그리고 필요한 내용을 물리 메모리에 올리기 위해 내용을 바꾸는 스와핑.
이 스와핑이 일어날 때 교체해 줄 대상을 결정하는 알고리즘이 페이지 교체 알고리즘이다.
FIFO(First-In-First-Out) : 가장 오래된 것을 교체.
LRU(Least Recently Used) : 가장 사용이(참조가) 오래된 것을 교체.
LFU(Least Frequency Used) : 가장 적게 사용한 것(참조 횟수가 적은 것)을 교체,
NUR(No Used Recently) : 시계 방향으로 탐색할 때 한번도 사용한 적 없는 것을 발견하면 이를 교체.
오프라인 알고리즘(offline algorithm) :
- 먼 미래에 참조될 페이지와 현재 할당된 페이지를 바꾸는 알고리즘.
- 현실적으로는 불가능해 페이지 교체 알고리즘을 평가하기 위해 사용하는 이상적인 알고리즘.
2️⃣ 프로세스 (Process)
실행 중인 프로그램을 의미.
저장 장치에 있던 프로그램이 메인 메모리에 올라간 것. 이를 '인스턴스화'라고 함.
3️⃣프로세스의 컴파일 과정
[소스 코드] -> 전처리 -> 컴파일러 -> [어셈블리어] -> 어셈블러 -> [목적 코드] -> 링커 + 라이브러리 -> [실행파일]
참고 자료
더보기
주홍철, <면접을 위한 cs 전공지식 노트>, 길벗, 2022
'TIL (Today I Learned)' 카테고리의 다른 글
TIL_230302-0307 (0) | 2023.03.08 |
---|---|
TIL_230301 (0) | 2023.03.02 |
TIL_230215 (0) | 2023.02.16 |
TIL_230214 (0) | 2023.02.15 |
TIL_230210 (0) | 2023.02.10 |