[인프런 워밍업 클럽_3기 CS] 세번째 발자국 🐾🐾🐾

[인프런 워밍업 클럽_3기 CS] 세번째 발자국 🐾🐾🐾

📌 이 글은 워밍업 클럽 3기 감자님의 CS 강의인 ‘그림으로 쉽게 배우는 자료구조와 알고리즘’과 ‘그림으로 쉽게 배우는 운영체제’를 학습하며 정리한 내용을 담고있습니다. 🙇‍♂


1⃣ 자료구조와 알고리즘

📌 1. 정렬 알고리즘

image

📌 2. 동적 프로그래밍

image


2⃣ 운영체제

📌 1. 메모리 관리

경계 레지스터 (Base + Limit Register):

사용자 프로세스가 OS 영역 침범 못하도록 보호

가변 분할 (세그멘테이션):

코드/데이터/스택 분리 가능, 유연

외부 단편화 발생

고정 분할 (페이징):

일정 크기의 페이지 단위 관리

내부 단편화 발생 가능

디맨드 페이징:

필요한 페이지만 메모리에 로드 (지연 적재)

초기 로딩 빠름, 페이지 폴트 주의

 

📌 2. 페이지 교체 알고리즘

  • FIFO : 먼저 들어온 페이지 제거

  • OPT : 가장 나중에 사용할 페이지 제거

  • LRU : 가장 오래 사용되지 않은 페이지 제거

  • 클락 알고리즘 : 접근 비트 이용한 LRU 근사

 

빌레이디의 역설

프레임 수를 늘렸는데도 페이지 폴트가 증가하는 현상

 

스레싱

페이지 교체 과도 -> CPU 사용률 급감

 

워킹셋

자주 쓰이는 페이지 집합, 컨텍스트 스위칭 시 활용

 

📌 3. 파일 시스템

파일 시스템 기능 :

생성, 수정, 삭제, 권한 관리, 백업, 무결성, 암호화

파일 디스크립터 :

운영체제가 파일을 관리하기 위해 정보를 보관하는 파일제어블록

파일 구조

image

 

파일 할당 방식

image

 

파일 삭제 :

실제 데이터를 삭제하지 않고 헤더만 제거.

블록은 Free Block List에 추가 -> 복구 가능


3⃣ 회고

완강을 했지만, 뭔가 찝찝한 부분들이 많다.
특히, 병합 정렬과 퀵 정렬은 개념은 알겠지만, 흐름이나 코드 구현 방식이 아직 완전히 이해가 되지 않아 다시 복습이 필요할 것 같다.

 

이번 워밍업 클럽 3기 CS를 통해 막연하게만 알고 있던 컴퓨터 지식들을 정리할 수 있었고, 자료구조와 운영체제에 대한 기반이 조금씩 쌓이는 느낌을 받았습니다. 🥲 🐾🐾🐾

댓글을 작성해보세요.

채널톡 아이콘