[인프런 워밍업 클럽_3기 CS] 세번째 발자국 🐾🐾🐾
📌 이 글은 워밍업 클럽 3기 감자님의 CS 강의인 ‘그림으로 쉽게 배우는 자료구조와 알고리즘’과 ‘그림으로 쉽게 배우는 운영체제’를 학습하며 정리한 내용을 담고있습니다. 🙇♂
1⃣ 자료구조와 알고리즘
📌 1. 정렬 알고리즘

📌 2. 동적 프로그래밍

2⃣ 운영체제
📌 1. 메모리 관리
경계 레지스터 (Base + Limit Register):
사용자 프로세스가 OS 영역 침범 못하도록 보호
가변 분할 (세그멘테이션):
코드/데이터/스택 분리 가능, 유연
외부 단편화 발생
고정 분할 (페이징):
일정 크기의 페이지 단위 관리
내부 단편화 발생 가능
디맨드 페이징:
필요한 페이지만 메모리에 로드 (지연 적재)
초기 로딩 빠름, 페이지 폴트 주의
📌 2. 페이지 교체 알고리즘
FIFO : 먼저 들어온 페이지 제거
OPT : 가장 나중에 사용할 페이지 제거
LRU : 가장 오래 사용되지 않은 페이지 제거
클락 알고리즘 : 접근 비트 이용한 LRU 근사
빌레이디의 역설
프레임 수를 늘렸는데도 페이지 폴트가 증가하는 현상
스레싱
페이지 교체 과도 -> CPU 사용률 급감
워킹셋
자주 쓰이는 페이지 집합, 컨텍스트 스위칭 시 활용
📌 3. 파일 시스템
파일 시스템 기능 :
생성, 수정, 삭제, 권한 관리, 백업, 무결성, 암호화
파일 디스크립터 :
운영체제가 파일을 관리하기 위해 정보를 보관하는 파일제어블록
파일 구조

파일 할당 방식

파일 삭제 :
실제 데이터를 삭제하지 않고 헤더만 제거.
블록은 Free Block List에 추가 -> 복구 가능
3⃣ 회고
완강을 했지만, 뭔가 찝찝한 부분들이 많다.
특히, 병합 정렬과 퀵 정렬은 개념은 알겠지만, 흐름이나 코드 구현 방식이 아직 완전히 이해가 되지 않아 다시 복습이 필요할 것 같다.
이번 워밍업 클럽 3기 CS를 통해 막연하게만 알고 있던 컴퓨터 지식들을 정리할 수 있었고, 자료구조와 운영체제에 대한 기반이 조금씩 쌓이는 느낌을 받았습니다. 🥲 🐾🐾🐾
댓글을 작성해보세요.