가상 기억장치 구현&관리 가상 기억장치란? 다중 프로그래밍 기법은 주기억장치에 다수의 프로그램을 적재시켜 구현할 수 있다. 그러나 이는 유한한 시스템 자원이라는 한계가 있다. 이렇듯 크기가 매우 큰 프로세스를 주기억장치에 적재시켜 실행하는것은 시스템에 부담을 줄 수 있다. 이를 해결할 수 있는 방법이 가상기억장치이다. 가상 기억장치 구현 보조기억장치에서 실행에 필요한 일부분만 주기억장치에 적재하여 구현할 수 있다. 이른 작은 용량으로도 큰 프로그램을 실행할 수 있다는 장점이 있다. 주기억장치 관리(비연속 할당 방식) 페이징 기법처리할 작업을 동일한 크기의 페이지로 나누어 처리하는 기법이다. 프로세스마다 페이지에 대한 정보를 가진 페이지 테이블을 가짐으로써 공간을 효율적으로 사용하게 되며, 프로그램이 아무리 커도 외부 단편화를 제.. Study/system 7년 전
주기억장치 관리 기법 주기억장치 관리 기법이란? 주기억장치의 공간이 한정되어있기 때문에 사용자의 요구에 따른 프로세스를 어떻게 효율적으로 처리할 것인지 다양한 관점에서 고려하여 할당&회수하는 기법. 적재된 하나의 프로그램의 연속성 여부에 따라 연속 할당 방식과 비연속 할당 방식으로 나뉜다. 연속 할당 방식 프로세스를 주기억 장치의 연속된 영역에 할당하는 방식 단일 프로그래밍 기법운영체제와 사용자 한 명의 프로그램만 주기억장치에 적재하는 방식. 빈공간이 생겨도 다른 사용자의 프로세스를 해당 공간에서 처리할 수 없으므로 자원낭비가 심하다(내부단편화). 또한, 주기억장치의 용량보다 큰 프로그램은 적재할 수 없다. 다중 프로그래밍 기법주기억 장치를 분할하여 다수의 작업이 주기억장치에 동시에 존재하며, 실행중인 작업이 입출력 요구시 .. Study/system 7년 전
스케줄링(Scheduling) 스케줄링(Scheduling)이란? 스케줄링이란 CPU 등의 자원을 프로세스들에게 적절히 부여하는 다중 프로그래밍을 가능케하는 운영체제의 동작기법이다. 시스템 자원의 적절한 배분을 통해 시스템의 성능을 개선할 수 있다. 스케줄링의 목적 - 작업 처리량 극대화- 응답 시간과 자원 활용 간의 조화- 프로세스 교착상태 배제- 시스템의 과부하 방지 스케줄링의 성능 기준 - CPU 활용률- 처리율- 반환 시간- 대기 시간- 응답 시간 선점 / 비선점 스케줄링 선점 스케줄링이란 인터럽트와 같이 현 프로세스보다 더 높은 우선순위 프로세스가 발생되었음을 알았을 때, 실행중인 프로세스로부터 강제로 CPU를 회수하는 것을 말한다. 이와 반대로 비선점 스케줄링은 자원을 한번 점유하게 되면 스스로 반납하기 전까지 계속 해당 .. Study/system 7년 전
프로세스 제어 블록(PCB) 프로세스는 프로그램과 프로세스 제어 블록으로 구성되어있다. 프로세스 제어 블록(PCB)이란? 프로세스 제어 블록은 프로세스에 대한 정보를 제공하는 자료구조이다. 운영체제에 따라 다를 수 있지만 일반적으로 다음과 같다. 프로세스 식별자(Process ID)프로세스 상태(Process State)PC(Program Counter)레지스터 정보스케줄링 정보(우선순위, 실행시각, 점유시간 등)메모리 관리정보프로세스 계정정보입출력 상태정보 PCB는 프로세스의 중요한 정보를 포함하고 있기 때문에, 보호된 메모리 영역 안에 남는다PCB는 프로세스 생성시 함께 만들어지고 프로세스 실행이 완료되면 삭제된다 Study/system 7년 전
프로세스(Process) 프로세스(Process)란? 프로세스란 프로그램이 주기억장치에 적재되어 실행되는 상태를 말한다. 프로그램 vs 프로세스 프로그램이란 디스크에 저장된 파일과 같은 수동적인 개체를 말한다. 즉, 실행 코드 그 자체를 의미한다. 이러한 프로그램이 주기억장치에 적재되어 처리를 시작할 때 비로소 프로세스라는 활동적인 개체가 된다. 프로세스의 상태 초기 상태(New state)프로세스가 생성되는 중인 상태 준비 상태(Ready state)프로세스가 CPU를 사용하고 있지는 않지만 언제든지 사용할 수 있는 상태. CPU 할당을 기다리고 있다. 실행 상태(Running state)프로세스가 CPU를 할당받아 명령어를 실행하는 상태 대기 상태(Blocked state)프로세스가 어떤 사건을 기다리고 있는 상태. 보류(B.. Study/system 7년 전
부팅(Booting) 운영체제도 소프트웨어이기 때문에 주기억장치에 적재되어야 한다. 이번 포스팅에서는 운영체제가 시작되기까지의 과정에 대해 알아보자 부팅(Booting)이란? 부팅이란 컴퓨터에서 사용자가 운영체제를 시동할 때 수행하는 부트스트래핑 과정이다. 즉, 운영체제가 실행되기 직전까지의 과정이라고 할 수 있다. 부트스트랩(Bootstrap)이란? 시동이라고도 하는 부트스트랩이란 전원을 켜거나 재부팅할 때 주기억장치에 적재되는 것을 말한다. 이때 적재되는것이 부트스트랩 프로그램이며, 일반적으로 메인보드에 ROM이나 플래시 메모리 형태로 존재하는 펌웨어 BIOS가 대표적이다. BIOS(Basic Input/Outout System)란? 바이오스란 펌웨어의 한 종류로서 전원이 공급되면 시작되는 부팅 절차에서 POST(Powe.. Study/system 7년 전
작업처리에 따른 운영체제의 분류 OS를 분류하는 방법에는 여러가지가 있겠지만 이번 포스팅에서는 작업처리(운영방식)에 따라 운영체제를 어떻게 분류할 수 있는지 알아본다. 일괄처리 시스템 초기 운영체제에서 사용된 운영방식인 일괄처리 시스템은 단일 작업을 즉시 처리하지 않고 여러개의 작업을 일정 기간 또는 일정량이 될 때까지 모아두었다가 하나로 묶어 일괄 처리하는 운영방식을 사용하는 시스템을 말한다. 작업을 시작하면 해당 작업이 끝날때 까지 다른 작업을 하지 못한다. 다중 프로그래밍 시스템 다중 프로그래밍 시스템이란 CPU 작업과 입출력 작업을 병행하는 것이다. 비다중 프로그래밍 시스템에서는 입출력을 기다리는 동안 CPU가 유휴상태가 되니 비효율적이지만, 다중 프로그래밍 시스템에서는 다수의 프로그램을 주기억 장치에 적재하여 하나의 프로그램이.. Study/system 7년 전
운영체제(OS)란? 운영체제(OS : Operating System)란? 운영체제는 컴퓨터 시스템과 사용자 사이에서 중개자 역할을 하는 시스템 소프트웨어이다. 사용자가 컴퓨터를 사용하는데에 있어 대부분의 작업을 운영체제가 처리해준다. 운영체제는 하드웨어와 사용자 사이의 인터페이스를 제공하고, 한정적인 시스템 자원을 보다 효율적으로 사용할 수 있도록 도와주기도 한다. 운영체제가 필요한 이유 사용자 측면 사용자 측면에서 살펴보면 운영체제는 사용자가 편리하게 원하는 동작을 수행할 수 있도록 하기 위해 필요하다. 시스템 측면 시스템 측면에서 살펴보면 어떠한 동작을 최대한 효율적으로 무리없이 구동하기 위해 필요하다.구체적으로 필요한 요소들을 살펴보면 아래와 같다 - 처리능력 : 같은 시간동안 처리할수 있는 작업량 - 응답시간 : 사.. Study/system 7년 전