[인프런 워밍업 클럽_3기 CS] 3주차 운영체제 미션
메모리의 종류는 어떤것들이 있나요? 각 메모리의 특징도 함께 적어주세요.
레지스터 - 휘발성 메모리로, cpu 계산할 때 메인메모리에 있는 값을 레지스터로 가져온 후 계산한다. 가장 속도가 빠르고 용량이 작다.
캐시 - 휘발성 메모리로, 메인메모리에 있는 값을 레지스터로 옮기려면 시간이 오래걸리기에 필요할것같은 데이터를 저장한다.
단계에 따라 가장 속도가 빠른 L1캐시를 보고, 없다면 L2 캐시 확인, 또 없으면 메인 메모리에서 값을 가져온다.
RAM - 휘발성으로, 실제 운영체제와 프로세스들이 올라가는 공간이다. 저장공간 대비 비싸기 때문에 데이터를 저장하기보단 실행중인프로그램만 올린다.
HDD,SSD - 비휘발성 메모리로, 앞서 말한 메모리보다 상대적으로 느리다. 하지만 저장할 수 있는 용량이 크고 저장공간 대비 상대적으로 값이 싸다.
사용자 프로세스가 메모리의 운영체제 영역에 침범하지 못하도록 만든 레지스터는 어떤 레지스터일까요?
base register
메모리 할당 방식에서 가변 분할 방식과 고정 분할 방식의 장단점은 뭔가요?
가변 분할 방식은 원하는 논리영역만큼 할당하여 필요한 만큼만 메모리 영역을 사용할 수 있다. 이를 통해 다른 프로세스와 세그먼트를 공유하기 편하고, 각 영역에 댛나 메모리 접근 보호도 편하다.
하지만 사용 후 회수할 때 외부단편화가 일어나서 메모리 낭비가 심하다.
고정 분할 방식은 메모리 영역을 미리 고정된 크기로 나누기 때문에 오버헤드가 적다.
하지만 작은 프로세스도 큰 영역에 할당되기 때문에 내부단편화가 발생한다.
CPU 사용률을 올리기 위해 멀티프로그래밍을 올렸지만 스왑이 더 많이 이루어져 CPU 사용률이 0%에 가까워 지는 것을 뭐라고 할까요?
스레싱
HDD나 SSD는 컴퓨터를 실행시키는데 꼭 필요한 걸까요?
단지 데이터를 저장하는 장치일 뿐이기 때문에 실행에 꼭 필요하다고 생각하지 않는다.
그 외의 메모리 안에 운영체제, 실행시킬 파일의 데이터가 모두 올라간다면 문제되지 않는다.
하지만 HDD나 SSD를 제외한 저장장치는 휘발성 메모리이기 때문에, 운영체제를 저장해둘 비휘발성 메모리가 필요하다.
파일을 삭제해도 포렌식으로 파일을 복구할 수 있는 이유가 무엇일까요?
특정 파일을 삭제해도 파일 시스템은 파일의 모든 정보를 지우는 것이 아니라, 파일 테이블의 헤더만 삭제하고 free block list에 추가하기때문에 사용자 입장에선 사라진것처럼 보이지만
사용했던 블록의 데이터는 그대로 남아있기 때문에 복구할 수 있다.
댓글을 작성해보세요.