일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- cpu
- 쓰레드 덤프
- 커널모드
- set
- 자바
- linkedmap
- Java
- Lock
- 프로그래머스
- list
- avl
- 스케줄링
- 유저모드
- 쓰레드
- non-blocking
- MAP
- 배열
- tree
- 유저 쓰레드
- OS
- black-red
- synchronizeation
- 알고리즘
- 트리
- Red-Black
- HashMap
- 코테
- os 쓰레드
- 코딩테스트
- 하드웨어 쓰레드
목록2025/04/13 (4)
변수의 기록

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

CPU 스케줄러와 디스패처, 그리고 스케줄링 알고리즘 총정리 CPU 스케줄러란?역할: CPU를 어떤 프로세스가 사용할지 선택동작: Ready 상태에 있는 프로세스들 중 하나를 선택하여 CPU에 할당대상: Ready Queue에 있는 프로세스들예: Ready Queue: P1, P2, P3 스케줄러가 P2를 선택 → 실행 준비 완료 디스패처(Dispatcher)란?역할: 스케줄러가 선택한 프로세스를 실제 CPU에 할당하고 실행세부 기능:컨텍스트 스위칭 수행사용자 모드로 전환 (커널 → 유저 모드)프로그램 카운터와 레지스터 설정예: P2를 스케줄러가 선택함 → 디스패처가 CPU에 할당 → P2 실행 시작 선점(Preemptive) vs 비선점(Non-Preemptive) 비선점 (Non-Preemp..
1. 스레드 덤프란?스레드 덤프는 실행 중인 자바 애플리케이션의 모든 스레드 상태를 출력한 스냅샷이다.서버에서 응답 지연, 무한 대기, CPU 사용률 급증, 데드락 등이 발생했을 때, 그 원인을 파악하기 위한 주요 도구로 사용된다.스레드 덤프를 분석하면 다음을 확인할 수 있다:현재 어떤 스레드가 실행 중인지어떤 스레드가 락을 점유하고 있는지, 어떤 스레드가 락을 기다리고 있는지데드락 여부 및 락 경합 병목 구간2. 스레드 덤프 생성 방법2.1 jstack 명령어 (권장)jps # 현재 실행 중인 Java 프로세스 ID 확인jstack # 스레드 덤프 출력jstack > threaddump.txt # 파일로 저장2.2 kill -3 (Linux/UNIX/macOS)kill -3 ..

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