프로세스(7)
-
프로세스 스케줄링이란
스케줄링이란? 여러 프로세스가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에게 할당할지 결정하는 것이다. 스케줄링 방법에 따라 시스템 성능에 영향을 미친다. 스케줄렁의 목적은 다음과 같다. - 자원 할당의 공정성 보장 - 단위시간 당 처리량 최대화 - 적절한 반환시간 보장 - 오버헤드 최소화 - 실행 대기 방지(실행 무기한 연기 방지) - 우선순위 부여 스케줄링의 기준 요소는 어떻게 될까? 이를 알기 위해 프로세스의 실행 시간을 좀 더 구체적으로 살펴보자. 프로세스를 프로세서에서 실행할 때를 프로세서 버스트라고 하며, 입출력 버스트는 프로세스가 추가로 실행하려고 입출력을 기다리고 있을 때이다. 프로세스의 실행 형태는 아래 그림과 같이 순환 형태로 구성된다. 프로세서 버스트는 입출력 대기시간에 따라 ..
2023.11.18 -
프로세스 관리
프로세스는 실행 중에 새로운 프로세스를 생성할 수 있다. 이때, 프로세스 생성 순서를 저장하고 부모-자식 관계를 유지하여 계층적으로 생성한다. 자식 프로세스는 OS에서 직접 자원을 얻거나, 부모 프로세스의 자원을 일부 사용할 수 있다. 또한, 부모 프로세스는 자식 프로세스의 자원을 제한할 수 있다. OS에서 프로세서의 생성 로직은 다음과 같다. 맨 처음. 새로운 프로세스에 프로세스 식별자를 할당한다. 그 다음, 주소 공간 및 PCB 공간을 할당한다. 이후, PCB를 조기화 한 후 링크를 건 다음, 준비 큐에 삽입한다. 프로세스의 중단 & 재시작 프로세스의 준비/실행/대기 상태만 사용하면 시스템이 대부분 유휴 상태일 것이다. 입출력 동작이 일반 연산 보다 느리기 떄문이다. 이러한 문제는 프로세스 중단(일시..
2023.11.11 -
프로세스 상태 변화와 상태 정보
운영체제는 프로세스의 실행을 제어한다. 프로세스의 상태는 크게 실행 상태와 비실행 상태로 구분할 수 있다. 비실행 상태에서 실행 상태로 바꾸는 것을 디스패치, 실행 상태를 비실행 상태로 바꾸는 것을 인터럽트라고 한다. 더 세분화 하는 상태로 표현하면 다음과 같다. 프로세스의 상태 변화는 OS가 작업 스케줄러와 프로세스 스케줄러를 이용하여 관리한다. 작업 스케줄러는 스플러가 디스크에 저장한 작업 중 실행할 작업을 선정하고 준비 리스트에 삽입한다. 프로세스 스케줄러는 선정한 작업의 상태를 변화시키며 프로세스 생성에서 종료까지 과정을 수행한다. 즉, 프로세스가 스스로 하는 것은 대기뿐이고, 나머지는 외부 조건으로 발생한다. 프로세스 제어 블록(PCB) 프로세서 제어블록(PCB)은 운영 체제가 프로세스를 제어할..
2023.11.11 -
프로세스의 개념과 상태 변화
프로세스란? 단순히 말해서 실행중인 프로그램이다. 실행중인 프로그램이라는 것은 디스크에 있던 프로그램을 메모리에 적재하여 운영체제의 제어를 받는다는 의미이다. 즉, 자신만의 메모리 영역이 있음을 의미한다. 프로그램은 컴파일한 코드와 변수, 문자열, 상수 등 정적 데이터를 포함한 정적인 개체이다. 프로세스는 메모리 구조를 이루고 프로그램 카운터(이하 PC)나 레지스터처럼 현재 어떤 자원을 사용하는지 정보가 들어있는 동적인 개체이다. 프로세스의 일반적인 메모리 구조는 다음과 같다. 스택 : 데이터를 일시적으로 저장하는 영역. 지역 변수에 사용하고, 범위 밖으로 이동하면 공간을 해제한다. 힙 : 코드 영역과는 별도로 유지되는 자유 영역. 동적으로 메모리를 할당. 프로그램 실행 중 시스템 호출을 사용했다 해제하..
2023.11.11 -
운영체제의 소개
# 운영체제의 개념과 발전 목적 컴퓨터 시스템은 SW와 HW로 구성된다. 운영체제는 사용자에게 HW로 접근할 수 있는 유일한 수단이다. 따라서 운영체제는 사용자에게 응용 프로그램을 실행할 수 있는 환경을 제공한다. 컴퓨터 시스템에는 다양한 사용자 및 응용프로그램이 동시에 사용한다. 운영체제는 다양한 요소들이 컴퓨터 자원을 효울적으로 사용할 수 있도록 관리하고 조정한다. 따라서, 운영체제는 다음과 같은 역할을 한다. - 조정자 : 데이터를 조정하여 사용자에게 프로그램을 작업하는 환경 제공 - 자원 할당/관리자 : 각 응용 프로그램에 필요한 자원을 할당 - 프로그램/IO 제어자 : 입출력 장치 및 응용 프로그램을 제어 ### 운영체제의 목적 - 편리성 : 사용제에게 편리한 환경을 제공 - 효율성 : 자원을 ..
2023.11.01 -
프로세스 기술과 제어
프로세스란 - 수행중인 프로그램 - 컴퓨터 상에서 수행중인 프로그램의 인스턴스 - 처리기에 할당되어 수행될 수 있는 개체 - 스레드, 상태, 시스템 자원 등에 의한 활동 단위 프로세스 구조 - 프로그램 코드 - 일련의 데이터, stack - 프로세스 정보 프로세스 구성요소 - 식별자 : 다른 프로세스와 구별 가능 - 상태 : 프로세스가 수행중이면 해당 프로세스는 수행 상태에 있음 - 우선순위 : 다른 프로세스들에 대해 상대적인 우선순위 수준 - 프로그램 카운터 : 프로그램에서 다음에 수행될 명령어의 주소 - 메모리 포인터 : 프로세스와 연계된 프로그램 코드 및 데이터 - 문맥 데이터 : 프로세스가 수행중일 때 CPU의 레지스터에 존재하는 데이터 - 입출력 상태 정보 - 어카운팅 정보(과금 정보) : 사용..
2022.05.22