※혼자 공부하는 컴퓨터구조 +운영체제 개인 공부 정리 내용입니다.
※진도는 하단의 혼공단 13기 커리큘럼을 참고해 주세요.
진도
메모리 관리
스와핑 - 메모리와 보조기억장치 내 스왑 영역에서 실행할 프로세스와 사용되지 않은 프로세스를 주고 받는 방식
메모리 할당
최초 적합 - 메모리 내 빈 공간을 찾을 때 적재 가능한 곳에 바로 할당하는 방법
최적 적합 - 메모리 내 빈 공간을 찾아 최적의 공간에 할당하는 방법
최악 적합 - 메모리 내 빈 공간을 찾아 최악의 (메모리 낭비를 하는) 공간에 할당하는 방법
외부 단편화
메모리에 프로세스를 적재하면서 프로세스 사이에 생기는 빈 공간이 생기고,
그 공간보다 큰 프로세스를 적재하기 어려운 상황이 발생,
결국 메모리 낭비로 이어지는 현상을 외부 단편화라고 한다.
이런 외부 단편화를 해결할 수 있는 대표 방안이 메모리를 압축하는 방법과 페이징 기법이 있다.
압축은 작은 빈 공간들을 하나로 모으는 방식 인데 이걸 하는 동안 시스템은 할 일을 중지해야 하고,
메모리 내용을 옮기는 작업은 많은 오버헤드를 야기 시키는 단점이 있다.
페이징
페이징 - 프로세스를 일정한 단위로 잘라서 각 페이지를 프레임에 할당하는 가상 메모리 관리 기법.
페이지 - 논리 주소 공간에서 프로세스가 잘린 일정한 단위
프레임 - 물리 주소 공간에서 프로세스가 잘린 일정한 단위
*페이지와 프레임의 같은 크기, 같은 단위
*내부단편화 - 페이징으로 일정 크기를 자를 때, 모든 프로세스가 딱 맞게 잘리는 것이 아니라서 메모리가 낭비되는 현상.
*스래싱 - 프로세스가 실제 실행되는 시간보다 페이징에 더 많은 시간을 소요하여 성능이 저해되는 문제
페이지 테이블
프로세스가 불연속적으로 배치되어 있다면 CPU에서 순차적으로 실행할 수 없어서
프로세스가 비록 물리 주소(메모리 내 주소)에 불연속적 배치되더라도
논리 주소(CPU가 바라보는 주소)에는 연속적으로 배치되도록 정보를 담은 것이 페이지 테이블이다.
페이지 테이블 베이스 레지스터( PTBR)
CPU 내에 있고(그야 레지스터니까), 프로세스의 페이지 테이블이 적재된 주소를 가르킴.
TLB(Translation Lookaside Buffer)
PTBR에서 CPU에서 메모리까지 페이지 테이블과 프레임 두 번 접근이 필요하여
캐시메모리에 저장되는 페이지 테이블
페이지 테이블 정보
유효비트 - 현재 해당 페이지에 접근 가능한지 여부. (메모리에 있는지, 보조기억장치에 있는지)
보호비트 - 읽기, 쓰기, 실행 가능한지 (rwx)
참조비트 - CPU가 이 페이지에 접근한 적이 있는지 여부
페이지 교체 알고리즘
- FIFO 페이지 교체 알고리즘 - 선입선출 방식
- 최적 페이지 교체 알고리즘 - 앞으로 사용 빈도가 가장 낮은 페이지를 교체하는 방식
- LRU 페이지 교체 알고리즘 - 가장 오랫동안 사용되지 않은 페이지 교체
- LFU 페이지 교체 알고리즘 - 가장 적게 사용된 페이지 교체
파일 - 보조기억장치에 저장되는 관련 정보의 집합
디렉토리 - 운영체제에서는 폴더라고 부르며 최상위 디렉토리를 루트 디렉토리라고 부름.
절대 경로 - 루트 디렉토리에서 자기 자신까지 이르는 경로
상대 경로 - 현재 디렉토리부터 시작하는 경로
파일 할당 방법
연속 할당 - 연속적인 공간을 차지하도록 블록을 할당하는 방법 (외부 단편화 발생)
불연속 할당 - 불연속적으로 할당해서 공간을 차지하게 하는 방법 (연결 할당과 색인 할당 방식이 있음.)
연결 할당 - 각 블록 일부에 다음 블록의 주소를 저장해서 연결되는 형태로 할당하는 방식 (링크드 리스트 느낌)
색인 할당 - 색인 블록(index block)이라는 하나의 블록에 모든 블록 주소를 모아 관리하는 방식.
파일 시스템
FAT 파일 시스템 - 연결 할당 기반의 파일 시스템
유닉스 파일 시스템 - 색인 할당 기반의 파일 시스템
기본 숙제
p.400 확인 문제 1번
1. 최초 적합
2. 최악 적합
3. 최적 적합
추가 숙제
p.437 확인 문제 1번
3회
2 3 1 3 5 2 3 4 2 3 에서 교체 발생
공부 후기
끝이네요!
책 한 권을 완벽하게 습득하진 않았지만 얼추 핵심내용은 파악한 것에 만족하고 있습니다.
당분간은 열어 보진 않을 것 같지만요.
함께한 13기 혼공컴운 여러분 고생하셨습니다.🙌
'Study > 혼공단' 카테고리의 다른 글
[혼공컴운] 혼공학습단 13기 활동 회고(1.01^365=?) (0) | 2025.02.23 |
---|---|
[혼공컴운] 5주차 - 동기화와 교착 상태 (0) | 2025.02.18 |
[혼공컴운] 4주차 - 운영체제와 프로세스 (0) | 2025.02.18 |
[혼공컴운] 3주차 - 메모리와 보조기억장치 (0) | 2025.02.02 |
[혼공컴운] 2주차 - CPU의 작동 원리와 성능 향상 기법 (1) | 2025.01.20 |