목록OS (6)
변수의 기록
1. 커널이란 무엇인가?OS 안에 존재하는 놈이다. OS의 심장이자 가장 권한이 센 놈.우리가 흔히 말하는 "Linux", "Windows" 같은 건 운영체제 전체고,그 안에 있는 가장 중요한 핵심 부분이 커널(Kernel).즉, --> 커널 ⊂ OS 2. 커널은 어디서 돌아가나?→ 커널 모드(Kernel Mode)CPU에는 모드가 두 개 있음:유저 모드(User Mode): 우리가 평소 실행하는 애플리케이션 (브라우저, 게임 등)커널 모드(Kernel Mode): 운영체제 커널, 드라이버, 시스템 콜 처리 등유저 모드에서는 메모리, 하드웨어, CPU 자원에 직접 접근 불가커널 모드에서만 직접 명령어 실행, 메모리 조작, I/O 제어 가능 3.커널이 하는 일 (진짜 중요함) 영역 역할프로세스/스레드 관..

운영체제와 스레드 - 하드웨어부터 유저 스레드까지1. 하드웨어 스레드 (Hardware Thread)문제의 출발점코어는 연산 능력이 빠르지만, 메모리에서 데이터를 가져오는 속도는 상대적으로 느림.메모리 I/O 대기 시간 동안 CPU가 놀고 있다면 자원 낭비!해결책하드웨어 스레드(예: 인텔 하이퍼 스레딩)하나의 물리 코어에 둘 이상의 하드웨어 스레드를 넣어 동시에 여러 스레드를 실행할 수 있게 함즉, 하나의 코어가 여러 작업을 병렬처럼 수행 ( os는 이 cpu 를 듀얼코어로 인식, 듀얼 코어에 맞춰서 os 레벨의 스레드들을 스케줄링 한다.)예시💡 듀얼 코어(Intel Dual-Core)에 하이퍼스레딩이 적용되면?→ 하드웨어 스레드는 총 4개→ OS는 이를 4개의 CPU처럼 인식하고 스케줄링 2. OS ..

유저 모드와 커널 모드, 그리고 인터럽트와 시스템 콜1. 유저 모드 vs 커널 모드모던 운영체제는 CPU의 실행 권한을 **유저 모드(User Mode)**와 **커널 모드(Kernel Mode)**로 나눔.이유는 운영체제와 시스템 자원을 보호하기 위함임.유저 모드애플리케이션(사용자 프로그램)이 실행되는 환경CPU는 제한된 명령어만 사용 가능직접 하드웨어 접근 불가 (예: 디스크, 메모리 제어, 네트워크 등)문제가 발생하더라도 시스템 전체에는 영향을 미치지 않음커널 모드운영체제의 핵심인 커널이 실행되는 환경CPU는 모든 명령어 실행 가능 (하드웨어 제어 포함)시스템 자원 관리 (메모리, CPU 스케줄링, 파일 시스템 등)모든 프로세스의 보호와 보안을 책임짐2. 모드 전환 (유저 모드 → 커널 모드)유저 ..

자바 스레드의 상태 – OS 프로세스와 어떻게 다를까?멀티스레드 프로그래밍을 하다 보면, Runnable, Blocked, Waiting 같은 자바 스레드 상태들이 헷갈릴 수 있습니다.운영체제(OS)의 프로세스 상태와도 비슷한 듯 다른 이 구조, 이번 글에서 명확하게 정리해보겠습니다.1. OS의 프로세스 상태 (Process States in OS)운영체제에서 프로세스는 기본적으로 다음과 같은 상태를 가집니다: 상태설명New프로세스가 막 생성됨 (아직 실행 준비 X)Ready실행 준비 완료, CPU 할당을 기다림RunningCPU에서 실행 중Waiting (Blocked)I/O 등 외부 자원을 기다리며 대기Terminated실행 완료 후 종료됨 특징:CPU 중심적인 상태 변화실행 준비 / 실행 중 / ..

🔁 컨텍스트 스위칭의 개념과 구조📌 컨텍스트 스위칭이란?컨텍스트 스위칭(Context Switching)은 CPU가 현재 실행 중인 작업(프로세스 또는 스레드)을 중단하고, 다른 작업으로 전환하는 과정이다. 이 과정에서 현재 작업의 상태(레지스터 값, 프로그램 카운터, 스택 포인터 등)를 저장하고, 다음 작업의 상태를 복원한다.컨텍스트 스위칭은 크게 두 종류로 나뉜다:프로세스 컨텍스트 스위칭스레드 컨텍스트 스위칭🧠 프로세스 컨텍스트 스위칭개념서로 다른 프로세스 간 전환주소 공간, 페이지 테이블, TLB, PCB 등이 모두 변경메모리 보호를 위해 각 프로세스는 독립된 가상 주소 공간을 가지므로 MMU와 협업이 필요동작 과정현재 프로세스의 PCB(Process Control Block) 저장다음 프로세..

가상 메모리(Virtual Memory)에 대한 개념 및 동작 원리 정리2025년 04월 04일가상메모리 공부1. 가상 메모리의 개념가상 메모리(Virtual Memory)란, 운영체제가 물리적 메모리(RAM)의 용량 한계를 극복하기 위해 제공하는 논리적 메모리 공간이다. 이는 프로세스가 실제로는 물리 메모리에 존재하지 않더라도, 마치 자신만의 연속적인 메모리 공간을 갖는 것처럼 동작하도록 만들어준다. 가상 메모리는 각 프로세스에게 독립적인 주소 공간을 제공함으로써, 메모리 보호와 다중 프로세스 실행을 가능하게 한다.가상 메모리는 실제 메모리와 1:1로 대응하지 않으며, 일부 주소 영역은 실제 메모리에 존재하지 않고 디스크의 스왑(Swap) 공간에 저장될 수 있다. 이로 인해 실행 중인 프로세스의 전체 ..