본문 바로가기

분류 전체보기139

[CS] 시스템 콜 (System call) 시스템 콜(System call) 이란?사용자 모드 (User mode) 에서 실행중인 프로그램이 커널 모드 (Kernel Mode)에 있는 운영체제 기능을 사용하기 위해 정해진 요청 인터페이스이다.예시파일 읽기/쓰기네트워크 연결프로세스 생성/종료메모리 할당/해제시스템콜이 필요한 이유운영체제는 시스템 자원(CPU, 메모리, 디스크, 네트워크 등)을 보호하고 효율적으로 관리해야 하므로, 사용자 프로그램이 직접 접근하지 못하게 하고, 대신 운영체제의 허락을 받아 간접적으로 접근하게 한다.즉 시스템 자원은 “커널만이 접근할 수 있고”, 사용자 프로그램은 “시스템 콜을 통해 커널에 요청”해야 한다. 커널운영체제의 가장 핵심이자 중심에 있는 소프트웨어로 사용자 프로그램과 하드웨어 사이에서 자원과 작업을 관리/중.. 2025. 8. 8.
[CS] 컨텍스트 스위칭 (Context Switching) Context Switching개념: 운영체제가 CPU를 사용하는 실행 주체 (프로세스/스레드) 를 바꿀때 이전 주체의 상태(Context)를 저장하고, 새 주체의 상태를 복원하는 과정.한정적인 코어에서 CPU 는 물리적으로 한번에 하나의 주체만 실행가능.운영체제가 일정 시간마다 다른 작업에게 CPU를 할당해 주는 구조.운영체제 입장에서 Context Switching 과정현재 실행중인 프로세스/스레드 상태(Context)를 PCB/TCB 에 저장스케줄러가 다음 실행할 주체를 선택선택된 주체의 상태를 복원CPU에게 새로운 실행 흐름을 넘겨줌 컨텍스트 스위칭 과정 [현재 실행 중인 프로세스 A → 프로세스 B로 전환하는 경우]1. 인터럽트 or 시스템콜 발생 (예: 타임 슬라이스 종료)2. 커널 모드 진입.. 2025. 7. 12.
[CS] 프로세스 vs 스레드 1. 개념차이프로세스OS 에서 실행중인 프로그램. OS 로 부터 자원을 할당받아 실행한다.하나의 프로그램은 여러개의 프로세스를 만들 수 있다. (크롬 다중실행등)프로세스는 실행단위 이며, 서로 독립적인 여러 실행 인스턴스가 만들어 질 수 있다.스레드프로세스 내부의 실행 흐름 단위한 프로세스 내에서 여러 쓰레드를 동시에 실행한다.해당 스레드는 프로세스의 메모리 자원을 공유한다. 2. 메모리 구조운영체제가 프로세스에 메모리를 할당하는 방식. 총 4개의 메모리 영역으로 나뉜다.코드영역 : 실행할 프로그램의 기계어 코드 (함수/if제어문/루프문)데이터영역 : 전역변수, static 변수힙영역 : 런타임중 new, malloc 으로 동적으로 할당되는 메모리스택영역 : 함수호출정보, 지역변수프로세스와 스레드의 메모.. 2025. 7. 9.
CS 준비를 위한 키워드정리 ✅ 1. 운영체제 (OS)📌 필수 개념프로세스 vs 스레드Context Switching시스템 콜 (System Call)커널 / 유저 모드멀티태스킹, 멀티스레딩스케줄링 알고리즘 (FCFS, RR, SJF, MLFQ)인터럽트와 인터럽트 핸들링동기 vs 비동기, 블로킹 vs 논블로킹📌 메모리 관리가상 메모리 / 페이징 / 세그멘테이션페이지 교체 알고리즘 (FIFO, LRU, LFU)페이지 폴트TLB (Translation Lookaside Buffer)📌 동기화 & 병행성임계 영역 / 세마포어 / 뮤텍스 / 스핀락데드락 (Deadlock) 조건, 예방, 회피병행 제어 이슈: 레이스 컨디션, 교착 상태메모리 모델 (volatile, memory barrier 등) ✅ 2. 네트워크📌 TCP/IP 4계.. 2025. 7. 6.
[Java] JVM GC 최적화 경험과 인사이트 1. 들어가며어느 날, 운영 중인 애플리케이션에서 갑작스럽게 응답 지연이 발생했다. 시스템 모니터링 결과, GC가 과도하게 실행되면서 STW(Stop-The-World) 시간이 증가하고 있었다. 처음에는 단순한 Minor GC 문제로 보였지만, 자세히 분석해보니 Old 영역에서 발생하는 Major GC와 Full GC가 원인이었다. 이 문제를 해결하기 위해 Heap Dump 분석, GC 로그 모니터링, JVM 옵션 튜닝을 진행하며 얻은 인사이트를 공유하고자 한다.2. JVM의 GC 종류와 특성GC의 종류 및 동작 방식GC는 JVM의 메모리 관리를 자동화하는 핵심 기능이지만, 잘못 설정하면 애플리케이션 성능에 심각한 영향을 미칠 수 있다. 대표적인 GC 방식은 다음과 같다.SerialGC단일 스레드로 GC.. 2025. 3. 1.
반응형