정보처리,전산/운영체제(12)
-
프로세스와 스레드
Single-threaded vs. Multi-threadedSingle-threaded:정의: 하나의 프로세스 내에서 하나의 작업만 순차적으로 처리하는 방식.예시: 브라우저가 페이지를 로딩할 때, 페이지 로딩이 끝날 때까지 다른 작업을 처리하지 않음.장점: 간단하고 구현이 용이하지만, 멀티태스킹을 잘 지원하지 못함.단점: CPU 자원을 효율적으로 활용하지 못함.Multi-threaded:정의: 하나의 프로세스가 여러 개의 스레드를 이용해 동시에 여러 작업을 처리하는 방식.예시: 브라우저가 웹페이지를 로딩하는 동시에 백그라운드에서 다른 작업을 수행할 수 있음.장점: CPU 자원을 효율적으로 활용하고, 여러 작업을 동시에 처리 가능.단점: 스레드 간 자원 경쟁 문제나 동기화 문제 발생 가능성 있음.Proc..
2024.11.15 -
비선점형 SJF (Shortest Job First)
비선점형의 의미 비선점형이란 한 번 CPU를 할당받은 프로세스가 자신의 작업을 완료할 때까지 CPU를 계속 사용하는 방식이다. 즉, 다른 프로세스가 도착하더라도 현재 실행 중인 프로세스는 끝까지 실행되며, 실행 도중에 중단되지 않는다. def sjf(processes): processes.sort(key=lambda x: (x[1], x[0])) # 도착 시간 -> 실행 시간 순으로 정렬 time = 0 waiting_time = 0 completed = [] while processes: # 도착한 프로세스들 중에서 실행 시간이 가장 짧은 프로세스 선택 available_processes = [p for p in processes if p[0] 1..
2024.10.19 -
FIFO
FIFO(First In First Out) 알고리즘 설명FIFO는 가장 먼저 들어온 페이지를 가장 먼저 교체하는 페이지 교체 알고리즘으로 먼저 들어온 페이지가 캐시에 오래 머물러 있는 경우 교체 대상이 된다. 간단한 구현: 페이지가 캐시에 삽입된 순서를 기준으로 가장 먼저 들어온 페이지가 교체된다.Belady 변이: FIFO 알고리즘에서는 페이지 프레임 수가 증가해도 페이지 미스가 증가할 수 있는 Belady 변이가 발생할 수 있다.FIFO 알고리즘 과정:페이지 요청이 발생하면, 해당 페이지가 캐시에 있는지 확인캐시에 없으면 페이지 미스가 발생하며, 먼저 들어온 페이지(오래된 페이지)를 교체새로운 페이지는 큐의 끝에 삽입 from collections import dequedef fifo_page_re..
2024.10.04 -
LRU (least recently used) | frame
LRU(Least Recently Used)는 페이지 교체 알고리즘 중 하나로, 가장 오랫동안 사용되지 않은 페이지를 교체하는 방식이다. 캐시 메모리에서 사용되며, 페이지 교체 시 가장 오래된 페이지를 선택해 교체한다. 시간적 지역성을 기반으로 함: 자주 사용된 데이터는 앞으로도 사용될 가능성이 높고, 오랫동안 사용되지 않은 데이터는 앞으로도 사용되지 않을 가능성이 높다는 가정.페이지 미스: 캐시에 없는 페이지를 요청할 경우 이를 가져와야 하며, LRU 알고리즘을 통해 가장 오랫동안 사용되지 않은 페이지를 교체한다.Belady 변이 없음: 페이지 프레임의 수가 증가할수록 페이지 미스가 감소하는 경향이 있으며, LRU는 이러한 상황에서 예외적인 페이지 미스 증가(Belady의 변이)를 일으키지 않는 알고리..
2024.10.03 -
운영체제의 발달 과정
1. 일괄 처리 시스템 (Batch Processing System):초기 컴퓨터 시스템에서 사용된 방식으로, 데이터를 일정량 또는 일정 기간 동안 모아서 한꺼번에 처리하는 시스템이다. 2. 다중 프로그래밍 시스템 (Multi-Programming System):하나의 CPU와 주기억 장치를 사용하여 여러 프로그램을 동시에 처리하는 방식이다. CPU 활용률을 높이고, 프로그램 간의 작업을 효율적으로 배분한다. 3. 시분할 시스템 (Time Sharing System):여러 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아 가며 처리하여 각 사용자에게 독립된 컴퓨터를 사용하는 것처럼 느끼게 하는 방식이다. 이 방식은 라운드 로빈(Round Robin) 방식으로 자원을 분배한다. 4. 다중 ..
2024.09.27 -
UNIX CPU 스케줄링
■ 시분할 시스템에서의 CPU 할당 시분할 시스템에서는 여러 프로세스가 병렬로 실행되며, CPU는 프로세스에 순차적으로 할당되어 프로세스가 실제로 동시에 실행되는 것처럼 보이도록 한다. ■ 스케줄링 알고리즘- FCFS (First Come First Serve): - 프로세스가 도착한 순서대로 CPU를 할당한다. - 간단하지만, 선입선출 방식으로 인해 프로세스의 대기 시간이 길어질 수 있다. - SJF (Shortest Job First): - 실행 시간이 가장 짧은 프로세스에게 CPU를 우선 할당한다. - 평균 대기 시간을 줄일 수 있지만, 실행 시간이 긴 프로세스는 대기 시간이 길어질 수 있다. - RR (Round Robin): - 각 프로세스에 일정 시간(퀀텀 타임)을 할당하..
2024.08.16