![[인프런 워밍업 클럽 3기 - CS] 3주차 운영체제 미션](https://cdn.inflearn.com/public/files/blogs/f51ce139-5784-4831-b6eb-7d6e7c1e7bec/인프런 워밍업 클럽.png)
[인프런 워밍업 클럽 3기 - CS] 3주차 운영체제 미션
1. 메모리의 종류는 어떤 것들이 있나요? 각 메모리의 특징도 함께 적어주세요.
레지스터 : 가장 빠른 기억장소로 CPU 내에 존재한다. 컴퓨터의 전원이 꺼지면 데이터가 사라지는 휘발성 메모리이다.
캐시 : 메인 메모리에 있는 데이터를 레지스터로 옮기는 시간이 오래 걸리므로, 필요할 것 같은 데이터를 저장해둔다. 캐시는 성능 상의 이유로 여러 개를 둔다. 컴퓨터의 전원이 꺼지면 데이터가 사라지는 휘발성 메모리이다.
메인 메모리 : 실제 운영체제와 다른 프로세스들이 올라가는 공간. 하드디스크나 SSD보다 속도는 빠르지만 비싸기 때문에 실행중인 프로그램만 올린다. 컴퓨터의 전원이 꺼지면 데이터가 사라지는 휘발성 메모리이다.
보조저장장치(HDD, SSD) : 속도가 느리고 용량이 크고 가격이 저렴하다. 컴퓨터의 전원이 꺼져도 데이터가 사라지지 않는 비휘발성 메모리이다.
2. 사용자 프로세스가 메모리의 운영체제 영역에 침범하지 못하도록 만든 레지스터는 어떤 레지스터일까요?
경계 레지스터. 메모리 관리자가 사용자 프로세스가 경계 레지스터의값을 벗어났는지 검사하고 만약 벗어났다면 종료시킨다.
3. 메모리 할당 방식에서 가변 분할 방식과 고정 분할 방식의 장단점은 뭔가요?
가변 분할 방식
장점 : 메모리의 연속된 공간에 할당되기 때문에 더 크게 할당되어 낭비되는 공간인 "내부 단편화"가 없다.
단점 : 메모리의 빈 공간이 연속적으로 존재하지 않게 되는 "외부 단편화"가 발생한다.
고정 분할 방식
장점 : 구현이 간단하고 오버헤드가 적다.
단점 : 작은 프로세스도 큰 영역에 할당되어 "내부 단편화"가 발생한다.
4. CPU 사용률을 올리기 위해 멀티프로그래밍을 올렸지만 스왑이 더 많이 이루어져 CPU 사용률이 0%에 가까워 지는 것을 뭐라고 할까요?
스레싱
5. HDD나 SSD는 컴퓨터를 실행시키는데 꼭 필요한 걸까요?
말 그대로 "컴퓨터를 실행"시키는 것이라면 운영체제 설치 없이도 전원이 들어오고 바이오스 진입까지는 가능하기 때문에 아니라고 볼 수 있으나, 현실적으로는 운영체제를 설치해야 하여 필수적이라고 보는 게 타당한 것 같다.
6. 파일을 삭제해도 포렌식으로 파일을 복구할 수 있는 이유가 무엇일까요?
파일을 삭제할 때 파일시스템은 파일의 모든 정보를 지우는 것이 아니라 파일 테이블의 헤더만 삭제하고 사용했던 블록의 데이터는 그대로 남아있기 때문에 복구가 가능하다.
댓글을 작성해보세요.