운영체제 7

💻 CPU 스케줄링 알고리즘

운영체제는 CPU를 효율적으로 사용하기 위해 다양한 CPU 스케줄링 알고리즘을 사용합니다. 각각의 알고리즘은 서로 다른 특징과 장단점을 가지고 있어, 상황에 따라 적절한 선택이 필요합니다. 이번 글에서는 주요 CPU 스케줄링 알고리즘을 빠짐없이 정리해 보았습니다.본 내용은 를 바탕으로 만들어졌습니다.📌 1. 선입 선처리 스케줄링 (First Come First Served, FCFS)방식: 비선점형특징: 준비 큐에 도착한 순서대로 처리가장 단순한 스케줄링 방식입니다.CPU 요청 순서대로 프로세스를 처리하여 공정하게 보이지만, 긴 작업이 먼저 도착할 경우 나중에 도착한 짧은 작업이 오래 기다리는 호위 효과(convoy effect) 현상이 발생합니다.예시:프로세스 A(17ms), B(5ms), C(2ms..

운영체제 2025.04.21

📌 11-1. CPU 스케줄링 (CPU Scheduling)

운영체제의 핵심 역할 중 하나는 바로 CPU 자원을 어떻게 나눠 쓸지 결정하는 것입니다. 이 작업을 우리는 **CPU 스케줄링(CPU Scheduling)**이라고 부르며, 성능과 효율, 사용자 경험에 모두 큰 영향을 줍니다. 본 내용은 를 바탕으로 만들어졌습니다.✅ CPU 스케줄링이란?운영체제는 여러 개의 프로세스가 동시에 실행되기를 원할 때, 누구에게 CPU를 먼저 줄지, 누구는 기다리게 할지를 결정해야 합니다.💡 이처럼 CPU 자원을 공정하고 효율적으로 배분하는 과정을 "CPU 스케줄링"이라고 합니다.만약 이 과정을 제대로 하지 못하면,꼭 실행되어야 할 프로세스가 무시되거나,덜 중요한 작업만 반복적으로 실행되어시스템이 무질서하고 비효율적인 상태가 될 수 있어요.🧠 프로세스마다 우선순위가 다르다?..

운영체제 2025.04.20

🧵 스레드(Thread)와 프로세스(Process)의 이해

운영체제를 공부하면서 빠질 수 없는 개념이 바로 **프로세스(Process)**와 **스레드(Thread)**입니다. 이 글에서는 두 개념의 차이점과 특징, 그리고 각각의 장단점까지 쉽게 정리해보겠습니다.본 내용은 를 바탕으로 만들어졌습니다.🧠 스레드란?**스레드(Thread)**는 하나의 프로세스 안에서 실행되는 작업의 흐름 단위입니다.📌 정리하면,하나의 프로세스는 여러 스레드를 가질 수 있어요.스레드를 사용하면 하나의 프로그램 안에서 여러 작업을 동시에 처리할 수 있습니다.💡 예를 들면?웹 브라우저는 한쪽 탭에서는 유튜브를 재생하고, 다른 탭에서는 웹페이지를 읽을 수 있죠. 각각의 작업이 스레드로 동작하는 거예요. *단일 프로세스: 실행의 흐름의 단위가 하나*멀티스레드 프로세스: 하나의 프로세스..

운영체제 2025.04.19

프로세스 : 상태 변화와 계층 구조

오늘은 프로세스에 대해 알아보겠습니다. 우리가 컴퓨터를 사용할 때 수많은 프로그램이 동시에 실행되는데, 이 각각의 실행 단위를 프로세스라고 부릅니다. 운영체제는 이 프로세스들을 어떻게 관리하고 있을까요? 프로세스의 상태 변화와 재미있는 가족 관계(?)인 계층 구조에 대해 쉽고 자세하게 알아봅시다! ✨본 내용은 를 바탕으로 만들어졌습니다.🚦 프로세스의 5가지 상태 변화: 태어나서 끝날 때까지모든 프로세스는 자신만의 '상태'를 가집니다. 운영체제는 **PCB(Process Control Block)**라는 특별한 기록부에 이 상태를 적어두고 프로세스를 관리하죠. 프로세스는 마치 우리 인생처럼 여러 상태를 거쳐갑니다.🌱 생성 (New)프로세스가 막 만들어지는 단계예요. 운영체제가 프로세스를 위해 메모리 공..

운영체제 2025.04.19

🖥 운영체제를 알아야 하는 이유와 큰 그림

저번 운영체제는 공룡책 기반으로 만들었지만, 이번에는 혼공 컴퓨터구조+운영체제 버전으로 만들어볼까 합니다!!흔히 사용하는 데스크톱 컴퓨터나 노트북, 스마트폰에는 모두 운영체제가 설치되어 있습니다.대표적인 데스크톱 운영체제에는 윈도우와 macOS, 리눅스가 있고, 스마트폰 운영체제로는 안드로이드와 ios가 있습니다.본 내용은 를 바탕으로 만들어졌습니다.운영체제란 무엇인가?컴퓨터 프로그램은 실행되기 위해 하드웨어 자원을 필요로 합니다. 예를 들어 숫자 연산을 하려면 CPU가, 이미지를 저장하려면 하드디스크가 필요합니다. 이러한 자원을 총칭해 시스템 자원이라고 부릅니다.CPU, 메모리, 보조기억장치, 입출력장치 등과 같은 컴퓨터 부품들은 모두 자원이라고 볼 수 있습니다.모든 프로그램은 실행을 위해 반드시 자원..

운영체제 2025.04.19

운영체제(OS)란 무엇일까? 컴퓨터 시스템의 핵심 파헤치기 ✌️

안녕하세요! 오늘은 컴퓨터 시스템의 심장과도 같은 운영체제(Operating System, OS) 에 대해 알아보려고 합니다. 우리가 매일 사용하는 컴퓨터, 스마트폰 속에는 어떤 비밀이 숨어있을까요? 운영체제의 역할부터 컴퓨터 시스템의 구조까지 알아보자.😊 (운영체제 공룡책 기반으로 작성되었습니다)1. 운영체제(OS)?🤔컴퓨터 시스템은 크게 하드웨어, 운영체제, 응용 프로그램, 사용자 4가지 요소로 구성됩니다. 하드웨어: CPU, 메모리, 입출력 장치 등 눈에 보이는 기계 장치들 응용 프로그램: 워드 프로세서, 웹 브라우저 등 우리가 특정 작업을 하기 위해 사용하는 소프트웨어사용자: 😄운영체제: 바로 이 하드웨어와 응용 프로그램 사이에서 모든 것을 관리하고 조율하는 핵심 소프트웨어입니다! 운영체제의..

운영체제 2025.04.17

🧠 프로세스 개요

운영체제를 공부하다 보면 꼭 나오는 프로세스와 스레드 개념헷갈리기 쉬운 용어들을 그림과 함께 정리해봤습니다.본 내용은 를 바탕으로 만들어졌습니다.📌 1. 프로세스란?“실행 중인 프로그램” = 프로세스(Process)프로그램은 하드디스크에 저장되어 있을 땐 단지 데이터일 뿐!메모리에 올라가서 실행되는 순간 프로세스가 됩니다. - 메모리 적재(Loading into Memory) : 사용자가 프로그램을 실행하면, 운영체제(OS)는 이 프로그램의 코드와 필요한 데이터를 주기억 장치(RAM)의 특정 영역으로 불러옴. - 프로세스(Process) : 메모리에 적재되어 운영체제의 관리 하에 실행 중인 프로그램의 인스턴스.프로세스 자신만의 메모리 공간, 시스템 자원(CPU 시간, 파일 등)을 할당받아 능동적으로..

운영체제 2025.04.14