운영체제(OS)란?
하드웨어와 소프트웨어를 관리하는 시스템 소프트웨어
프로세스, 메모리, 파일, CPU 등을 관리한다.
Card
emy
← 탐색으로 돌아가기
백엔드 면접에서 운영체제는 거의 빠지지 않는 핵심 주제다. 이 단계에서는 프로세스와 스레드 차이, 컨텍스트 스위칭, 멀티스레딩, 동기화, 데드락, 메모리 구조, CPU 스케줄링 같은 내용을 학습한다. 단순 정의 암기가 아니라 “Spring 서버에서 스레드는 어떻게 사용되는가”, “동시성 문제가 왜 발생하는가”처럼 실제 백엔드 서버 관점으로 연결해 이해하는 것이 목표다.
무료 체험 퀴즈
운영체제(OS)란?
하드웨어와 소프트웨어를 관리하는 시스템 소프트웨어
프로세스, 메모리, 파일, CPU 등을 관리한다.
커널(Kernel)이란?
운영체제의 핵심 부분
하드웨어와 직접 상호작용한다.
시스템 콜(System Call)이란?
사용자 프로그램이 OS 기능을 요청하는 인터페이스
파일 접근, 프로세스 생성 등에 사용된다.
사용자 모드(User Mode)란?
일반 프로그램이 실행되는 제한된 권한 영역
직접 하드웨어 접근이 불가능하다.
커널 모드(Kernel Mode)란?
운영체제가 실행되는 권한 영역
모든 하드웨어 자원 접근 가능하다.
아래 문항들은 이 학습지에 수록된 카드입니다. 로그인하면 이 학습지를 내 계정으로 복사해 카드를 한 장씩 넘기며 반복 학습할 수 있고, 숙달한 카드는 완료 표시하여 다음 세션에서 제외할 수 있습니다.
운영체제(OS)란?
커널(Kernel)이란?
시스템 콜(System Call)이란?
사용자 모드(User Mode)란?
커널 모드(Kernel Mode)란?
프로세스(Process)란?
스레드(Thread)란?
프로세스와 스레드 차이는?
멀티프로세스란?
멀티스레드란?
멀티스레드 장점은?
멀티스레드 단점은?
컨텍스트 스위칭(Context Switching)이란?
컨텍스트 스위칭 비용이 발생하는 이유는?
PCB(Process Control Block)란?
프로세스 상태 종류는?
Ready 상태란?
Running 상태란?
Waiting 상태란?
CPU 스케줄링이란?
FCFS 스케줄링이란?
SJF 스케줄링이란?
Round Robin 스케줄링이란?
우선순위 스케줄링이란?
기아 현상(Starvation)이란?
에이징(Aging)이란?
CPU Bound 작업이란?
I/O Bound 작업이란?
동기(Synchronous)란?
비동기(Asynchronous)란?
Blocking이란?
Non-Blocking이란?
동기와 Blocking 차이는?
Race Condition이란?
임계영역(Critical Section)이란?
뮤텍스(Mutex)란?
세마포어(Semaphore)란?
이진 세마포어(Binary Semaphore)란?
데드락(Deadlock)이란?
데드락 발생 조건은?
상호배제란?
점유대기란?
비선점이란?
순환대기란?
데드락 해결 방법은?
메모리 관리란?
가상 메모리(Virtual Memory)란?
페이징(Paging)이란?
페이지(Page)란?
프레임(Frame)이란?
페이지 폴트(Page Fault)란?
스와핑(Swapping)이란?
단편화(Fragmentation)란?
내부 단편화란?
외부 단편화란?
캐시 메모리(Cache Memory)란?
캐시 히트(Cache Hit)란?
캐시 미스(Cache Miss)란?
지역성(Locality)이란?
시간 지역성이란?
공간 지역성이란?
인터럽트(Interrupt)란?
인터럽트가 필요한 이유는?
DMA란?
커널 스레드란?
사용자 스레드란?
멀티코어란?
병렬성(Parallelism)이란?
동시성(Concurrency)이란?
Thread Pool이란?
Thread Pool을 사용하는 이유는?
Fork Join Framework란?
Callable이란?
Future란?
CompletableFuture란?
Thread Safe란?
Immutable 객체가 Thread Safe한 이유는?
ConcurrentHashMap 특징은?
CAS(Compare And Swap)란?
Busy Waiting이란?
Producer-Consumer 문제란?
Reader-Writer 문제란?
컨테이너(Container)란?
Docker를 사용하는 이유는?
리눅스에서 프로세스 확인 명령어는?
kill 명령어란?
Zombie Process란?
Orphan Process란?
Load Average란?
Spring 서버에서 스레드를 사용하는 이유는?
Tomcat Thread Pool이란?