분류 전체보기(196)
-
CPU 스케줄링 알고리즘
스케줄링 알고리즘의 종류비선점형 스케줄링한 프로세스가 CPU를 할당받으면 작업 종료 후 CPU 자원을 반환할 때까지 다른 프로세스는 CPU 점유가 불가능한 스케줄링 방식을 의미한다. 즉, 하나의 프로세스가 CPU 자원을 독점할 수 있다.모든 프로세스에 대한 요구를 공정하게 처리할 수 있지만, 짧은 작업을 수행하는 프로세스가 긴 작업 종료 시까지 대기해야하는 콘베이 현상이 발생할 수 있다.처리 시간의 편차가 적은 특정 프로세스 환경에서 용이하다.선입 선처리 스케줄링(FCFS 스케줄링)FCFS 스케줄링은 First Come First Served Scheduling의 약자로 먼저 온 곳이 먼저 제공받는다는 의미이다.단순히 준비 큐에 삽입된 순서대로 프로세스들을 처리하는 비선점형 스케줄링 방식이다. FCFS는..
2024.05.02 -
CPU 스케줄링 개요
프로세스 우선순위운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것을 CPU 스케줄링이라고 한다.프로세스마다 CPU를 할당받을 수 있는 우선순위가 존재하게 된다. 우선순위가 높은 프로세스는 입출력 작업이 많은 프로세스가 있다. 왜 입출력 작업이 많은 프로세스를 우선순위를 높게 매겨 먼저 CPU를 할당받도록 할까? 워드 프로세서를 생각해보자. 워드 프로세서는 CPU를 사용하여 명령어를 실행하고, 사용자로부터 입력받은 내용을 보조기억장치에 저장하고, CPU를 사용하여 다시 명령어를 실행하고, 입력한 내용을 화면에 출력하는 과정이 반복된다. CPU를 이용하는 작업은 CPU 버스트이고, 입출력 장치를 기다리는 작업을 입출력 버스트라고 한다.CPU 버스트가 많은 프로세스를 CPU 집중 프로세스..
2024.05.02 -
스레드
스레드란 프로세스(관리의 단위)를 구성하는 실행의 흐름 단위(연산의 단위)이다. 프로세스는 최소 1개의 스레드가 존재하며 여러 개의 스레드를 가질 수도 있다.전통적인 관점에서 하나의 프로세스는 한 번에 하나의 일만 처리했다. 이렇게 실행되는 프로세스를 단일 스레드 프로세스라고 한다.하지만 스레드란 개념이 도입되면서 하나의 프로세스가 한 번에 여러 일을 동시에 처리할 수 있게 되었다.즉, 프로세스를 구성하는 여러 명령어를 동시에 실행할 수 있게 되었다.김밥천국 같은 식당에서는 양식인 돈까스도 팔고, 한식인 떡볶이도 팔 수 있는 것처럼 말이다. 조금 더 직관적인 예시를 들어보자. 한 가구를 프로세스라고 생각하고 세대원들을 스레드라고 생각하자.집이라는 공간은 운영체제가 프로세스에게 할당한 가상 메모리(Virt..
2024.05.02 -
프로세스 상태와 계층 구조
프로세스 상태하나의 프로세스는 여러 상태를 거치며 실행된다. 그리고 운영체제는 프로세스의 상태를 PCB를 통해 인식하고 관리한다.프로세스가 가질 수 있는 대표적인 상태는 아래와 같다.생성 상태프로세스를 생성 중인 상태 즉, 이제 막 메모리에 적재되어 PCB를 할당받은 상태를 의미한다. 준비 상태자신의 CPU 할당 차례가 올 때까지 기다리고 있는 상태이다. 준비 상태가 실행 상태로 전환되는 것을 디스패치라고 한다.실행 상태CPU를 할당받아 실행 중인 상태를 의미한다. 실행 상태인 프로세스는 할당된 일정 시간 동안만 CPU를 사용할 수 있다.이때 할당된 시간을 모두 사용하여 타이머 인터럽트가 발생하면 다시 준비 상태로 돌아간다. 만약 실행 도중 입출력 장치를 사용하여 입출력 장치의 작업이 끝날 때까지 기다려..
2024.05.01 -
부등호 (백준 2529번)
문제두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시된 부등호 순서열 A가 다음과 같다고 하자. A ⇒ 부등호 기호 앞뒤에 넣을 수 있는 숫자는 0부터 9까지의 정수이며 선택된 숫자는 모두 달라야 한다. 아래는 부등호 순서열 A를 만족시키는 한 예이다. 3 1 7 0이 상황에서 부등호 기호를 제거한 뒤, 숫자를 모두 붙이면 하나의 수를 만들 수 있는데 이 수를 주어진 부등호 관계를 만족시키는 정수라고 한다. 그런데 주어진 부등호 관계를 만족하는 정수는 하나 이상 존재한다. 예를 들어 3456128790 뿐만 아니라 5689023174도 아래와 같이 부등호 관계 ..
2024.05.01 -
연산자 끼워넣기 (백준 14888)
문제N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다.우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다.예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와 같은 식을 만들 수 있다.1+2+3-4×5÷61÷2+3+4-5×61+2÷3×4-5+61÷2×3-4+5+6식의 계산은 연산자 우선 순위를 무시하..
2024.05.01