인프런의 [그림으로 쉽게 배우는 운영체제] 강의를 듣고 정리한 내용이다.
간단하게 들은 내용을 정리한 것으로, 더 자세한 내용을 원한다면 위 강의를 구매하는 것을 추천한다.
짧은 강의 형태로 단시간에 운영체제를 배우고 싶은 사람, 쉽게 운영체제를 배우고 싶은 사람에게 적합하다고 생각한다.
✏️ 메모리 종류
- 레지스터 - 가장 빠른 기억 장소. CPU 내에 존재. 전원 종료 시 데이터가 날라가므로 휘발성 메모리. 속도 빠름. 용량 작음. 가격 비쌈.
- 32bit, 64bit - 레지스터의 크기
- 메인 메모리에 있는 값을 가져와 계산 후 다시 메모리에 저장
- 캐시 - 레지스터와 메인메모리 사이에 존재
- 휘발성. L1, L2, L3 캐시로 보통 이루어져 있음.
- CPU가 사용하는 메모리로 빠른 속도를 가짐
- 메인 메모리에 있는 것을 레지스터로 가져오는데는 시간이 많이 걸림 > 자주 사용하는 데이터를 미리 캐시 메모리에 저장함
- 메인 메모리(RAM) - 실제 운영제체와 다른 프로세스들이 올라가는 공간
- 속도 빠르지만 비쌈
- 휘발성. (전원이 공급되지 않으면 데이터가 지워짐)
- 데이터를 저장하기 보다는 실행 중인 프로그램을 저장함
- 보조 저장장치(HDD, SSD)
- 비휘발성. 데이터 저장에 활용성 좋음.
- 가격이 저렴함
✏️ 메모리와 주소
- 주소 - 운영체제는 메모리를 관리하기 위해 1byte의 크기로 나누어 관리
- 물리 주소 공간 - 메모리를 컴퓨터에 연결하면 0x0번지부터 시작하는 주소 공간 (메로리 관리자가 바라본 주소)
- 논리 주소 공간 - 사용자가 접근하는 주소 공간. 논리 주소 공간을 활용하여 물리 주소에 접근 가능 (사용자가 바라본 주소)
- 경계 레지스터 - 하드웨어적으로 운영체제 공간과 사용자 공간을 나누어 CPU 내의 레지스터. 메모리 관리자가 사용자 프로세스가 경제 레지스터 값을 벗어났는지 검사하고, 만약 벗어났다면 그 프로세스를 종료시킴
✏️ 메모리 할당방식
- 메모리 오버레이 - 큰 프로그램을 작게 나누어 일부만 실행하고 나머지 프로그램은 하드디스크에 저장
- SWAP - 데이터 일부를 메모리로 가져오고 메모리에 있는 데이터를 스왑 영역으로 옮김
- 메모리 할당 방식
- 가변 분할 방식 - 프로세스의 크기에 따라 메모리를 나누는 방식. 외부 단편화 발생 위험 존재. (내부 단편화는 발생 X)
- 고정 분할 방식 - 프로세스의 크기와 상관 없이 일정 크기로 나누어 할당하는 방식. 구현이 간단하고 오버헤드가 적음.
- 세그멘테이션 - 가변 분할 방식. 외부 단편화.
- 페이징 - 고정 분할 방식. 내부 단편화.
- 버디 시스템 - 2의 승수로 메모리를 분할하여 메모리 할당 방식. 프로세스를 할당할 수 있을 때까지 2의 승수로 나눈 후 프로세스를 할당하는 방식.
'운영체제' 카테고리의 다른 글
8. 입출력 장치 (0) | 2022.05.21 |
---|---|
4. 데드락 (0) | 2022.05.14 |
3. 프로세스 동기화 (0) | 2022.05.14 |
2. CPU 스케줄링 (0) | 2022.05.07 |
1. 프로세스와 쓰레드 (0) | 2022.05.06 |