📄

정보처리기사 대비 - OS

v1.0.0
@young_log|License|Published on 2026-02-21

"No description provided for this extension."

@
Details
Changelog
Dependencies

프로세스(Process)

실행 중인 프로그램

크롭 실행, 메모장 실행 각각 총 2개의 프로세스가 돌아가는 것

  • 독립적인 메모리 공간 가짐 - 메모리 공유 X
  • 안정성 높지만 생성 비용 크다.

스레드(Thread)

프로세스 안에서 실제 작업 단위

크롬 내의 탭 여러개, 다운로드, 영상 재생 …
하나의 프로세스 안에 여러 스레드

  • 메모리 공유, 생성 비용 작음, 통신 빨라
  • 한 스레드가 죽으면 프로세스 영향 준다.
  • 동시 접근으로 인해 경쟁 상태 우려- Race Condition
  • Critical Section (임계 영역) - Mutex(한 번에 하나의 스레드만 들어감)/semaphore(개수 제한)

IPC**(Inter Process Communication)**

프로세스끼리는 메모리 공유하지 않아서 통신하기 위해 필요함

  • 파이프, 메시지 큐, 공유 메모리, 소켓

Deadlock 발생 조건- 코프만 조건(Coffman Conditions)

  1. 상호 배제
    1. 자원을 동시에 여러개 못써
  2. 점유와 대기
    1. 자원 하나 잡은 채 다른 자원 기다려
  3. 비선점
    1. 강제로 자원 뺏을 수 없어
  4. 환형 대기
    1. 원처럼 도는 구조

→ 데드락은 위 4가지 조건이 모두 만족해야 발생한다.

이를 예방하기 위해 4가지 중 하나를 깨면 되는데
4번을깨면된다. 자원 획득순서를 정해버리기

CPU 스케줄링

  • FCFS(First Come First Served)
    • 선입선출(FIFO)
    • 비선점 방식, 구현 쉬워
    • 평균 대기시간 늦어질 수 있어
    • Convoy Effect 발생 가능
  • SJF(Sortest Job First)
    • 실행시간 가장 짧은거 먼저
    • 평균 대기 시간 감소
    • 비선점 방식
    • 기아(Starvation) 발생 가능
    • 선점형은 SRT
  • RR(Round Robin)
    • 시간 할당량 만큼만 실행
    • 선점 방식, 공평
    • 응답 시간도 빨라
    • 타임 슬라이스가 너무 작으면 오버 헤드 증가
    • 오버 헤드가 증가한다는 것은
       Context Switching (문맥 교환)
      이 작업이 비용이 많이 든다 이거
  • Priority Scheduling
    • 우선순위 높은거 부터… 근데 낮은 우선 순위 기아 발생
    • 이거는 Aging을 해서 기다릴 수록 우선순위 높이면 된다.

페이지 교체 알고리즘(메모리 꽉 찼는데 뭐 버리지?)

  • FIFO
    • 먼저 들어온 페이지부터 제거
    • Belady’s Anomaly 발생 가능(프레임 수가 늘었는데 폴트가 늘었다?)
  • LRU(Least Recently Used)
    • 가장 오래 사용 안 한 페이지 제거
    • 많이 쓰임
  • LFU(Least Frequently Used)
    • 가장 적게 사용한 페이지 제거

페이지 폴트**(Page Fault)**?

CPU가 어떤 페이지를 찾았는데 메모리에 없을 때 발생하는 것

1 2 3 4 1 2 5 1 2 3 4 5
Comments_Log
TERMINAL
DEBUG CONSOLE
OUTPUT
~/stay-young-loggit(main)npm run comment:write
nickname:
content:
-- TOTAL COMMENTS: 0 --
[LOADING...] fetching data from supabase...