스케줄러스케줄러는 어떤 프로세스에게 자원을 할당할지 결정하는 역할을 합니다.운영체제는 스케줄러를 통해 CPU를 사용하려고 하는 프로세스 사이의 우선 순위를 관리합니다.이것을 스케줄링이라고 부릅니다.프로세스를 스케줄링하기 위한 스케줄링 큐에는 다음의 세 가지 종류가 존재합니다.작업 큐(Job Queue) : 현재 시스템 내의 모든 프로세스의 집합준비 큐(Ready Queue) : 메인 메모리에 존재하며, CPU를 할당받고 실행을 기다리는 프로세스의 집합장치 대기 큐(Device Queue) : 특정 입/출력장치를 대기하는 프로세스의 집합 스케줄러의 종류1. 장기 스케줄러 (Long-Term Scheduler 또는 Job Scheduler)메모리와 디스크 사이의 스케줄링을 담당합니다.많은 프로세스들이 한꺼번..
프로세스 (Process) 프로세스는 실행 중인 프로그램으로 디스크로부터 메모리에 적재되어 CPU의 할당을 받은 작업을 말합니다. 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이것들을 총칭하여 프로세스라고 합니다. 기본적으로 프로세스마다 최소 1개의 스레드를 갖습니다. (메인 스레드) 프로세스는 각각 별도의 메모리 영역(주소 공간)을 할당받습니다. Code : 코드 자체를 구성하는 메모리 영역 (프로그램 명령) Data : 전역변수, 정적변수, 배열 등 (초기화된 데이터) / 초기화되지 않은 데이터는 Bss 영역에 저장 Heap : 동적 할당 시 사용 (new(), malloc() 등) Stack : 지역변수, 매개변수, 리턴 값 등 (임시 메모리 영역) 하나의 프로세스는 다른 프로세스의 변..
운영체제 (OS, Operating System) 운영체제는 하드웨어를 관리하고 컴퓨터 시스템의 자원들을 효율적으로 관리합니다. 또한, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해줍니다. 즉, 운영체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어라고 할 수 있습니다. 운영체제의 역할 1. 프로세스 관리 운영체제에서 작동하는 응용 프로그램 혹은 프로세서(CPU)를 관리하는 기능을 뜻합니다. 현재 CPU를 점유해야 할 프로세스를 결정하고 실제로 CPU를 프로세스에 할당합니다. 또한, 이 프로세스 간 공유 자원 접근과 통신 등을 관리하게 됩니다. 2. 저장장치 관리 1차 저장장치에 해당하는 메인 메모..