![[인프런 워밍업 클럽 3기] CS - 3주차 미션](https://cdn.inflearn.com/public/files/blogs/ef1c459f-5afc-4c97-ab47-e48d434b0594/인프런 워밍업 클럽 3기 썸네일.jpg)
[인프런 워밍업 클럽 3기] CS - 3주차 미션
3주차 미션
운영체제
메모리의 종류는 어떤것들이 있나요? 각 메모리의 특징도 함께 적어주세요.
레지스터
CPU 내부에 있는 초고속 메모리
용량이 적고 가격이 비쌈
휘발성의 성질을 가져 컴퓨터가 종료되면 데이터도 같이 사라짐
캐시 메모리
CPU와 RAM 사이에서 데이터 속도를 높이기 위한 메모리
메인 메모리와 레지스터 사이 속도 차이가 있어서 필요한 데이터를 미리 가져와 저장하는 공간
메인 메모리
실행 중인 프로그램과 데이터를 저장
휘발성 메모리
보조기억장치
데이터를 영구 저장하는 장치 (비휘발성)
속도는 RAM보다 느리지만 대용량 저장 가능
사용자 프로세스가 메모리의 운영체제 영역에 침범하지 못하도록 만든 레지스터는 어떤 레지스터일까요?
경계 레지스터
프로세스가 접근할 수 있는 메모리의 최대 범위를 저장
경계 레지스터 값을 벗어나면 프로세스를 종료
메모리 할당 방식에서 가변 분할 방식과 고정 분할 방식의 장단점은 뭔가요?
고정 분할 방식 (Fixed Partitioning)
장점:
같은 크기로 나누어 관리가 쉽고 구현이 간단하며 오버헤드가 적음
단점:
내부 단편화 발생 → 프로세스가 할당된 파티션보다 작으면 공간 낭비
파티션 크기를 적절히 설정해야 하므로 유연성이 부족함
가변 분할 방식 (Variable Partitioning)
장점:
내부 단편화 문제 해결 → 필요한 만큼만 메모리를 할당하므로 공간 낭비가 적음
파티션 크기를 유연하게 조정 가능해 고정 분할 방식보다 유연한 운영 가능
단점:
외부 단편화 발생 → 작은 빈 공간이 여기저기 생겨 전체 메모리를 충분히 활용하기 어려움
CPU 사용률을 올리기 위해 멀티프로그래밍을 올렸지만 스왑이 더 많이 이루어져 CPU 사용률이 0%에 가까워 지는 것을 뭐라고 할까요?
스레싱
멀티프로그래밍을 과도하게 증가시켜 페이지 부재 증가
프로세스가 실제 작업을 수행하지 못하고 페이지 교체 작업에만 CPU 자원을 소비
HDD나 SSD는 컴퓨터를 실행시키는데 꼭 필요한 걸까요?
이유를 함께 적어주세요.
실행 시키기엔 필수가 아니지만 휘발성 메모리를 실행하고 종료할때 데이터가 날아가기 때문에 저장할 수 있는 공간인 HDD/SSD는 꼭 필요하다고 생각함.
파일을 삭제해도 포렌식으로 파일을 복구할 수 있는 이유가 무엇일까요?
파일을 삭제하면, 운영체제는 파일이 저장된 위치를 빈 공간으로 표시할 뿐, 실제 데이터는 그대로 남아 있어 새로운 데이터가 덮어 쓰기 전에는 복구가 가능함.
자료구조와 알고리즘
지금까지 배운 5개의 정렬 알고리즘의 장단점과 시간 복잡도를 적어주세요.
버블정렬
장점: 거의 정렬된 배열에서는 빠르게 정렬 가능 , 구현이 쉬움
단점: 큰 데이터는 비효율적
시간복잡도: O(n²) (평균/최악) O(n) (최선)
선택정렬
장점: 추가적인 메모리 사용이 거의 없음
단점: 데이터의 크기가 커질수록 성능이 매우 떨어짐
시간복잡도: O(n²) (평균/최선/최악)
삽입정렬
장점: 거의 정렬된 배열에서는 매우 빠름
단점: 선택 정렬과 비슷하게 데이터 크기가 커질수록 성능이 떨어짐
시간복잡도: O(n²) (평균/최악) O(n) (최선)
병합정렬
장점: 큰 데이터를 정렬하는 데 적합하고 최악의 경우에도 O(n log n)을 보장
단점: 이해와 구현이 어려움. 메모리 공간을 차지함
시간복잡도: O(n log n) (평균/최선/최악)
퀵정렬
장점: 평균적으로 가장 빠른 정렬 알고리즘 중 하나
단점: 피벗 선택이 잘못되면 성능이 급격히 떨어짐 (O(n²))
시간복잡도: O(n log n) (평균/최선) O(n²) (최악)
메모리가 부족한 시스템에서 어떤 문제를 해결하는데 재귀로 쉽게 구현이 가능할 것 같습니다. 여러분이라면 메모이제이션과 타뷸레이션 중 어떤 걸 이용하실 건가요? 이유를 함께 적어주세요.
메모리가 부족한 환경에서는 스택 메모리를 많이 쓰는 재귀보다 반복문 기반의 타뷸레이션이 효율적일 것 같다 생각합니다.
댓글을 작성해보세요.