반응형

IT 88

⚙️ [운영체제] 병렬 처리(Parallelism)와 동시성(Concurrency)

[운영체제 목차 바로가기]4️⃣ 스레드와 병렬 처리 - 멀티스레딩과 멀티코어 활용📌 병렬 처리(Parallelism)와 동시성(Concurrency)1️⃣ 병렬 처리와 동시성의 기본 개념병렬 처리(Parallelism)와 동시성(Concurrency)은 둘 다"여러 작업을 동시에 다루는 것"과 관련된 개념이지만,의미, 목적, 구현 방식이 서로 다르다.구분병렬 처리 (Parallelism)동시성 (Concurrency)초점여러 작업을 물리적으로 동시에 수행여러 작업을 논리적으로 동시에 관리주된 목표처리 속도 향상시스템 반응성 개선 및 자원 활용 최적화필요한 환경다수의 CPU/코어 (멀티코어 필수)단일 CPU에서도 가능작업 단위동시에 실제 실행되는 작업동시에 "진행 중"인 작업 흐름예시4개의 코어에서 4개..

IT/운영체제 2025.07.06

⚙️ [운영체제] 멀티코어 환경에서의 스레드 활용

[운영체제 목차 바로가기]4️⃣ 스레드와 병렬 처리 - 멀티스레딩과 멀티코어 활용📌 멀티코어 환경에서의 스레드 활용 (Threads in Multicore Systems)1️⃣ 멀티코어 시스템이란?멀티코어(Multicore)란,하나의 CPU 칩 안에 여러 개의 독립적인 처리 코어(Core)를 탑재한 구조를 의미한다.각각의 코어는 명령어를 독립적으로 실행할 수 있으며,서로 병렬로 작업을 수행할 수 있다.📌 즉, 과거에는 "CPU = 하나의 코어"였지만,현재는 "CPU = 여러 코어를 가진 집합체"가 표준이다.2️⃣ 멀티코어 시스템과 멀티스레딩의 관계멀티스레딩(multithreading)은 여러 작업 흐름(스레드)을 생성하는 기술이고,멀티코어 시스템은 이 스레드들을 실제로 동시에 병렬 실행할 수 있는 물..

IT/운영체제 2025.07.05

⚙️ [운영체제] 커널 모드 스레드(Kernel-level Thread)

[운영체제 목차 바로가기]4️⃣ 스레드와 병렬 처리 - 사용자 스레드 vs 커널 스레드📌 커널 모드 스레드 (Kernel-Level Thread, KLT)1️⃣ 커널 모드 스레드란 무엇인가?커널 모드 스레드(Kernel-Level Thread, KLT)는운영체제 커널이 직접 생성하고 관리하며 스케줄링하는 스레드를 의미한다.커널은 각 스레드를 독립된 실행 단위로 인식한다.스레드마다 별도의 스케줄링 엔트리(ready queue entry)를 유지하며,스레드는 커널 리소스(CPU, 메모리, 파일 디스크립터 등)를 프로세스 단위가 아니라 스레드 단위로 관리받는다.즉, 커널은 스레드를 "작은 프로세스"처럼 관리한다고 볼 수 있다.2️⃣ 커널 모드 스레드의 특징항목설명관리 주체운영체제 커널인식 단위스레드 하나하나..

IT/운영체제 2025.07.04

⚙️ [운영체제] 사용자 모드 스레드(User-level Thread)

[운영체제 목차 바로가기]4️⃣ 스레드와 병렬 처리 - 사용자 스레드 vs 커널 스레드📌 사용자 모드 스레드 (User-Level Thread, ULT)1️⃣ 사용자 모드 스레드란 무엇인가?사용자 모드 스레드(User-Level Thread, 줄여서 ULT)는운영체제 커널의 직접적인 개입 없이, 사용자 공간(user space)에서 생성되고 관리되는 스레드를 의미한다.커널은 이 스레드들의 존재를 모른다.스레드 스케줄링, 생성, 종료 등 모든 관리가 사용자 레벨 라이브러리에 의해 이루어진다.프로세스는 커널 입장에서는 여전히 "단일 실행 흐름"으로 보인다.📌 ULT는 "프로그램이 자체적으로 관리하는 스레드"라고 이해하면 쉽다.2️⃣ 사용자 모드 스레드의 특징항목설명관리 주체사용자 영역의 라이브러리 (운영..

IT/운영체제 2025.07.03

⚙️ [운영체제] 싱글 스레드 vs 멀티 스레드

[운영체제 목차 바로가기]4️⃣ 스레드와 병렬 처리 - 스레드의 개념과 필요성📌 싱글 스레드 vs 멀티 스레드 (Single Thread vs Multi-Thread)스레드(Thread)는 프로그램 내에서 독립적인 실행 흐름을 의미한다.프로그램은 하나의 스레드만 사용하는 구조(싱글 스레드)일 수도 있고,여러 스레드를 동시에 사용하는 구조(멀티 스레드)일 수도 있다.이 두 가지 모델은 프로그램의 성능, 구조, 복잡성, 자원 활용 방식에 큰 차이를 만든다.1️⃣ 싱글 스레드 (Single Thread)란?싱글 스레드 프로그램은 프로그램이 오직 하나의 흐름만을 가지며, 한 번에 하나의 작업만 수행하는 구조이다.✅ 특징항목">설명실행 흐름 수">하나작업 처리 방식">순차적 처리I/O 처리">블로킹(blocki..

IT/운영체제 2025.07.02

⚙️ [운영체제] 스레드란 무엇인가?

[운영체제 목차 바로가기]4️⃣ 스레드와 병렬 처리 - 스레드의 개념과 필요성📌 스레드란 무엇인가? (What is a Thread?)1️⃣ 스레드의 기본 개념스레드(Thread)는 프로세스 내에서 실행되는 가장 작은 실행 단위이다.하나의 프로세스는 하나 이상의 스레드로 구성될 수 있으며,각 스레드는 CPU 명령을 순차적으로 수행할 수 있는 독립적인 흐름을 가진다.📌 쉽게 말해, "프로세스는 프로그램의 껍데기, 스레드는 그 안에서 일하는 작업자"라고 할 수 있다.2️⃣ 프로세스와 스레드의 차이점항목프로세스(Process)스레드(Thread)기본 단위자원(Resource) 관리의 기본 단위실행(Execution)의 기본 단위주소 공간독립적인 주소 공간을 가짐프로세스 내 주소 공간을 공유생성 비용무겁고 ..

IT/운영체제 2025.07.01

⚙️ [운영체제] 공유 메모리 (Shared Memory)

[운영체제 목차 바로가기]3️⃣ 프로세스 관리 - 프로세스 간 통신(IPC: Inter Process Communication)📌 공유 메모리 (Shared Memory) – 프로세스 간 통신 방식 중 하나공유 메모리(shared memory)는 운영체제의 프로세스 간 통신(IPC: Inter-Process Communication) 기법 중 하나로,두 개 이상의 프로세스가 하나의 메모리 영역을 함께 사용하여 데이터를 빠르게 주고받을 수 있도록 한다.공유 메모리는 IPC 기법 중 가장 빠른 속도를 자랑하며,고성능 시스템, 멀티프로세서 환경, 실시간 응용 등에서 널리 사용된다.1️⃣ 공유 메모리란?공유 메모리는 운영체제가 허용한 특정 메모리 영역을 여러 프로세스가 함께 접근할 수 있게 만든 공간이다.각 ..

IT/운영체제 2025.06.30

⚙️ [운영체제] 메시지 전달 방식 (Message Passing)

[운영체제 목차 바로가기]3️⃣ 프로세스 관리 - 프로세스 간 통신(IPC: Inter Process Communication)📌 메시지 전달 방식 (Message Passing) – 프로세스 간 통신 방식 중 하나운영체제는 다양한 프로세스가 병렬로 실행되도록 지원하지만,그만큼 프로세스 간의 협력과 정보 교환(IPC: Inter-Process Communication)이 필요하다.이 중 메시지 전달 방식(Message Passing)은 프로세스 간 데이터를 직접 공유하지 않고, 운영체제가 메시지를 중개하는 형태의 IPC 기법이다.1️⃣ 메시지 전달(Message Passing) 방식이란?메시지 전달은 프로세스들이 서로 독립적인 주소 공간을 유지하면서,운영체제의 커널 또는 IPC 시스템을 통해 메시지 형..

IT/운영체제 2025.06.29

⚙️ [운영체제] 프로세스 정보 저장

[운영체제 목차 바로가기]3️⃣ 프로세스 관리 - 프로세스 테이블과 PCB(Process Control Block)📌 프로세스 정보 저장 (Process Information Storage)운영체제는 수많은 프로세스를 동시에 생성하고 관리해야 하며, 이를 위해 각 프로세스의 정보들을 체계적으로 저장하고 추적할 필요가 있다.이 과정에서 핵심적인 역할을 하는 것이 PCB(Process Control Block)와 이를 포함한 프로세스 테이블(Process Table)이다.운영체제는 프로세스가 생성될 때부터 종료될 때까지의 상태, 자원, 메모리, 스케줄링 정보 등을 저장하며, 이를 기반으로 모든 프로세스 관련 기능을 수행한다.1️⃣ 프로세스 정보란?운영체제가 각 프로세스를 관리하기 위해 저장하는 모든 시스템..

IT/운영체제 2025.06.28

⚙️ [운영체제] PCB 구조와 역할

[운영체제 목차 바로가기]3️⃣ 프로세스 관리 - 프로세스 테이블과 PCB(Process Control Block)📌 PCB 구조와 역할 (Process Control Block: 구조 및 기능)운영체제는 동시에 수많은 프로세스를 생성하고 관리한다.이때 각 프로세스를 구분하고 추적하며 제어하기 위해 사용하는 핵심 자료구조가 바로 PCB(Process Control Block, 프로세스 제어 블록)이다.PCB는 프로세스의 ‘신분증’이자 ‘전체 상태 정보’를 담고 있는 구조체로,운영체제 커널이 모든 프로세스의 생애주기를 관리하기 위해 반드시 사용된다.1️⃣ PCB란 무엇인가?✅ 정의PCB(Process Control Block)는 하나의 프로세스와 관련된 모든 운영체제 관리 정보를 담고 있는 자료구조다.운..

IT/운영체제 2025.06.27
반응형