본문 바로가기

운영체제

(18)
스레드(Thread) 스레드 : 동기/아이디어 대규모 프로그램은 여러 개의 서브프로그램으로 구성되어 있으며, 이를 하나의 실행 단위로 구성하는 경우를 프로세스라고 한다. 예를 들어, a.out은 단일 프로세스 단위로 실행되며, 실행, 준비, 블록 상태 전이를 통해 운영된다. 서브프로그램 중 하나가 I/O를 요구할 경우 전체 프로세스가 블록된다. 서브프로그램을 실행 단위로 만들 경우 하나의 서브프로그램에서 I/O를 요구할 경우 해당 서브프로그램만을 블록 시킨다. 이를 통해 프로세스 내의 다른 서브프로그램은 독립적인 실행 단위로 계속 실행할 수 있다. 스레드의 정의 스레드는 경량화된 프로세스(Lightweight Process) 로서, 프로세스 내에서 실행되는 독립적인 실행 경로이며, 자신의 실행 상태를 가지고 다른 스레드와 프..
운영체제 연습문제 운영체제 개요 ~ CPU 스케줄링까지의 연습문제입니다. 답안은 하단에 있습니다.Q. 운영체제란?Q. 커널이란?Q. 운영체제의 역할은?Q. 운영체제의 목적은?Q. 초기 운영체제의 문제점은?Q. 단순 일괄처리 시스템의 목적은?Q. 자동적 작업 순서화의 장점과 상주 모니터가 무엇인지 작성하시오.Q. 스풀링이란?Q. 작업풀이란?Q. 멀티 프로그래밍의 정의는?Q. 멀티 프로그래밍의 문제점은?Q. 멀티 프로세싱과 멀티 프로세서의 차이는?Q. 멀티 프로세싱의 문제점은?Q. 배치 처리시스템의 문제점은?Q. 멀티 프로그래밍의 정도란?Q. 잡 스케줄러의 역할은?Q. 시분할 시스템이란?Q. 시분할 운영체제의 문제점은?Q. 큐를 ..
Highest Response-Ratio Next (HRN) 스케줄링 개발자 및 연도 개발자: Brinch Hansen 개발 연도: 1971 특징 비선점형 스케줄링: 한번 CPU를 할당받으면 그 프로세스는 작업을 완료할 때까지 CPU를 계속 사용한다. SJF의 보완: SJF(Smallest Job First) 방식에서는 CPU 버스트가 짧은 작업에 유리한 문제를 해결하기 위해 고안되었다. 프로세스 우선순위 조정: 각 프로세스의 우선순위는 대기 시간이 길어질수록 높아진다. 이로 인해 CPU 버스트가 긴 작업도 공정하게 처리될 수 있다. 우선순위 계산 공식 우선순위(P): (대기 시간 + 서비스 시간) / 서비스 시간 이 공식은 각 프로세스의 우선순위를 그 프로세스의 서비스 시간과 대기 시간을 통해 계산한다. 대기 시간이 길어질수록 우선순위가 높아지므로, 오래 기다린 프로세스..
데드라인 스케줄링 (Deadline Scheduling) 개요 데드라인 스케줄링: 특정 프로세스가 주어진 시간 또는 데드라인 안에 완료되도록 계획하는 스케줄링 기법이다. 적용 분야: 실시간 시스템(Real-time systems)에 주로 적용되며, 공장 제어 시스템이나 미사일 방어 시스템 등에 사용된다. 중요성 시기에 따른 가치 변화: 작업이 데드라인에 맞춰 완료될 경우 매우 높은 가치를 지니나, 데드라인을 넘겨 완료되면 가치가 없어지는 경우가 많다. 특징 스케줄링 복잡성: 데드라인을 고려한 스케줄링은 매우 복잡할 수 있으며, 정밀한 타이밍과 조정이 요구된다. 예시 실시간 시스템의 예: 공장 자동화 시스템 미사일 방어 시스템 응급 의료 시스템 교통 관리 시스템
우선순위 스케줄링 (Priority Scheduling) 정의 우선순위 스케줄링: 우선순위가 높은 프로세스에게 CPU를 할당하는 방식이다. 세부사항 SJF와의 관계: SJF(Shortest-Job-First) 스케줄링은 일반적인 우선순위 스케줄링의 특별한 경우로, CPU 버스트가 작은 프로세스에게 높은 우선순위를 부여한다. 동일 우선순위 처리: 우선순위가 같은 경우 FCFS(First-Come, First-Served) 방식을 사용할 수 있다. 우선순위 유형 정적 우선순위(Static Priority): 프로세스의 우선순위가 실행 동안 변하지 않습니다. 구현이 간단하며 오버헤드가 낮다. 동적 우선순위(Dynamic Priority): 시스템의 상황에 따라 우선순위가 동적으로 변동된다. 응답성이 향상되지만 구현이 복잡하고 오버헤드가 많다. 구매한 우선순위(Pur..
선점형 SJF 스케줄링 (SRTF: Shortest-Remaining Time First) 개념 선점형 스케줄링: SRTF는 SJF(Shortest-Job-First) 스케줄링의 선점형 버전으로, 짧은 잔여 시간을 우선적으로 처리한다. 작업 선택 기준: 현재 실행 중인 프로세스의 남은 CPU 버스트 시간과 새로 도착한 프로세스의 CPU 버스트 시간을 비교하여, 새로운 프로세스의 CPU 버스트가 더 짧은 경우 즉시 현재 프로세스를 중단하고 새 프로세스에 CPU를 할당한다. 작동 방식 CPU 버스트 비교: 새로 도착한 프로세스의 CPU 버스트가 현재 실행 중인 프로세스의 남은 CPU 버스트보다 짧을 때, 현재 프로세스는 실행을 중지하고 준비 상태로 돌아간다. CPU 할당: 새로운 프로세스는 즉시 실행 상태로 전환되어 CPU를 사용한다. 특징 효율적인 응답 시간: 이 방식은 특히 짧은 작업에 대해 ..
SJF 스케줄링 (Shortest-Job-First Scheduling) SJF 스케줄링 동작 방식 준비 큐에 있는 프로세스 중에서 실행 시간이 가장 짧은 작업부터 CPU를 할당하는 비선점형 방식. 최단 작업 우선 스케줄링이라고도 하며, 콘보이 효과를 완화하여 시스템의 효율성을 높이는 데 도움을 준다. 특징 비선점형 방식 CPU를 가장 작은 CPU 버스트를 가진 프로세스에게 할당한다. 같은 CPU 버스트를 가진 경우, FCFS(First Come First Serve) 방식을 따른다. 평균 대기 시간이 최소화 된다. 문제점 각 프로세스의 CPU 버스트 길이를 예측하기 어렵다. SJF 스케줄링의 효과 및 한계 효과 짧은 작업 우선: 짧은 작업을 긴 작업의 앞에 배치함으로써 긴 작업의 대기 시간은 증가하나, 짧은 작업의 대기 시간을 크게 줄일 수 있다. 평균 대기 시간 감소: 전..
CPU 스케줄링 CPU 스케줄링의 정의 CPU 스케줄링은 운영 체제가 프로세스들 사이에서 CPU 자원을 어떻게 할당할지 결정하는 프로세스 관리 기법이다. CPU 스케줄러 여러 프로세스의 상황을 고려하여 CPU와 시스템 자원의 배정을 결정 고수준 스케줄링 시스템 내의 전체 작업 수를 조절한다. 어떤 작업을 시스템이 받아들일지 또는 거부할지 결정한다. 시스템 내에서 동시에 실행 가능한 프로세스의 총 개수가 정해진다. 장기 스케줄링, 작업 스케줄링, 승인 스케줄링이라고도 함. 장기(long_term or job) 스케쥴러(scheduler) 프로세스를 디스크에서 메모리로 적재한다. loads the process image from the disk to memory 적재기(“loader”)와 메모리관리 모듈과 연관성이 있다...