PromleeBlog
sitemap
aboutMe
Menu
Welcome to
✨ Promlee Blog ✨
View 📈
Total: -
Today: -
추천 포스트
개인학습
운영체제
하루 10분 운영체제
마지막 - 하루 10분 운영체제 20일차
마지막 - 하루 10분 운영체제 20일차
Last One - 10 Minutes of OS Day 20
📅
🚀 들어가기 전에
🚀 운영체제, 어디서부터 어디까지였을까요?
🚀 흐름으로 복습하는 20일 여정
✅ 1~5일차: 운영체제의 기본 원리
✅ 6~10일차: 메모리, 동기화, 교착 상태
✅ 11~15일차: 저장장치와 파일 시스템
✅ 16~19일차: 보호, 가상화, 네트워크, 분산 시스템
🚀 운영체제를 진짜로 이해했다는 것
🚀 요약
✅ 참고
🚀
들어가기 전에
🔗
지금까지 하루 10분씩 운영체제를 공부해온 여러분, 정말 고생 많으셨습니다.
이번 마지막 글에서는 1일차부터 19일차까지 배운 내용을 하나의 흐름으로 자연스럽게 연결하며 정리해보려 합니다.
🚀
운영체제, 어디서부터 어디까지였을까요?
🔗
처음엔 “운영체제가 뭔데?”라는 질문으로 시작했죠.
여러분이 스마트폰에서 앱을 실행하거나, 컴퓨터로 문서를 저장하는 것 모두
운영체제 덕분
에 가능한 일이었습니다.
운영체제는 마치 보이지 않는 관리자처럼
프로세스, 메모리, 파일, 입출력 장치, 네트워크 자원
을 모두 맡아서 조율해줍니다.
예를 들어 앱을 실행하면 운영체제는:
프로세스
를 만들어 CPU 시간표에 등록하고,
사용할
메모리
공간을 찾아 나눠주며,
파일이 필요하면
파일 시스템
을 통해 저장소에 접근하게 해주고,
입력 장치(마우스, 키보드)와 출력 장치(화면, 스피커)와도 연결시켜주며,
네트워크를 통해 인터넷 정보도 받아오게 해줍니다.
🚀
흐름으로 복습하는 20일 여정
🔗
운영체제는 단순히 “프로그램을 실행해주는 역할”에 머무르지 않습니다.
여러 프로그램들이 동시에 돌아가도록
조율하는 다중 작업 환경(Multitasking)을 가능하게 하고,
누가 언제 CPU를 쓸지, 어떤 메모리를 어떻게 나눌지
를 실시간으로 판단합니다.
✅
1~5일차: 운영체제의 기본 원리
🔗
운영체제가 무엇인지부터, 프로세스, 스레드, CPU 스케줄링까지 살펴봤죠.
프로세스는 실행 중인 프로그램, 스레드는 그 안의 작은 흐름
CPU는 쉬지 않기 위해 스케줄링으로 여러 프로세스를 번갈아 실행
스레드를 여러 개 쓰면 한 프로그램도 병렬로 일할 수 있음
✅
6~10일차: 메모리, 동기화, 교착 상태
🔗
여러 스레드가 같은 자원을 동시에 쓸 때 충돌을 막기 위한
동기화 도구
들
세마포어, 뮤텍스, 모니터
가 차례차례 등장했고,
교착 상태는 “서로 기다리다 아무도 못 나오는” 상태였죠.
메모리도 중요한데, 연속 할당에서 페이징, TLB, 스와핑, 가상 메모리까지 연결되며
주소 공간과 실제 물리 메모리의 차이
를 이해하게 되었습니다.
✅
11~15일차: 저장장치와 파일 시스템
🔗
파일 시스템은 단순히 “파일을 읽고 쓰는 기술”이 아니었습니다.
디스크는 읽는 순서에 따라 성능이 달라지고
파일 시스템은 데이터를 블록 단위로 저장하며
디렉토리, inode, FCB 같은 구조를 통해 파일과 메타데이터를 관리했죠.
보호와 보안도 이때 다뤘습니다.
권한 분리, 접근 제어 리스트, 암호화, 인증 등은
시스템을
신뢰할 수 있게
만들어주는 기반이었습니다.
✅
16~19일차: 보호, 가상화, 네트워크, 분산 시스템
🔗
운영체제가 다른 프로그램들을
서로 침범하지 못하도록 보호
하고
가상 머신
을 통해 또 하나의 운영체제를 운영할 수도 있다는 사실도 알게 되었어요.
최종적으로
네트워크
를 통해 데이터를 주고받고
분산 시스템
에서 여러 컴퓨터가 마치 하나처럼 일할 수 있도록 만드는 것이
현대 운영체제의
진짜 모습
이었습니다.
🚀
운영체제를 진짜로 이해했다는 것
🔗
이제 운영체제를 단순히 “컴퓨터의 기본 프로그램”이 아니라,
모든 프로그램들이 협업할 수 있도록 만들어주는 플랫폼
으로 이해할 수 있게 되었어요.
앱 하나를 실행할 때 운영체제가 몇 가지 작업을 동시에 하고 있을까요?
오류가 나지 않도록, 또 성능을 극대화하려면 운영체제가 어떤 판단을 할까요?
이제 우리는 운영체제의 입장에서 프로그램을 바라보고,
시스템 전체를 설계하고 최적화할 수 있는 눈
을 갖게 된 것입니다.
🚀
요약
🔗
운영체제는 더 이상 컴퓨터 전공자만 알아야 할 기술이 아닙니다.
앱 개발자, 데이터 분석가, 인프라 엔지니어 모두에게 필요한 시스템의 뼈대이자 지능형 관리자입니다.
앞으로의 개발이나 공부에 이 시리즈가 든든한 기반이 되기를 진심으로 바랍니다.
✅
참고
🔗
Operating System Concepts (10th Edition)
https://en.wikipedia.org/wiki/Operating_system↗