728x90
반응형

운영체제 5

[OS] I/O Management

입출력 관리 컴퓨터에서 연산 작업과 함께 입출력 작업은 중요합니다. 예를 들면 컴퓨터 화면을 보는 작업, 문서를 작성하는 작업 등 대부분이 입출력 작업이기 때문입니다. 마우스, 키보드, 모니터와 같은 다양한 장치들이 컴퓨터에서 잘 동작하도록 하려면 입출력 장치와 컴퓨터 사이에 공통된 인터페이스가 존재해야 합니다. 아래와 같이 입출력 제어기를 통해 메인 메모리와 프로세서와의 상호작용을 위해 시스템 버스에 연결되어 있는 것을 볼 수 있습니다. 입출력 하드웨어의 구성 하드웨어 장치는 케이블을 통하거나, 무선으로 신호를 보내 컴퓨터와 통신을 합니다. 이때 포트를 통해 컴퓨터에 접속하는데 하드웨어 장치의 또 다른 구성요소는 제어기 입니다. 제어기는 포트나 입출력 장치를 제어하는 전자 회로의 집합체이며 많은 입출력..

Backend/OS 2022.09.03

[OS] Memory Management (2) - 메모리 관리 방법

Address Binding 프로세스의 주소는 논리적 주소와 물리적 주소로 나뉩니다. 논리적 주소는 가상 주소라고도 하며, CPU가 생성하는 주소입니다. 프로세스마다 독립적으로 가지는 주소 공간이기 때문에 프로세스의 내부에서 사용하고, 프로세스마다 0부터 시작합니다. 물리적 주소는 프로세스가 실행되기 위해 실제로 메모리에 올라가는 위치입니다. Address Binding 프로그램이 어떤 물리적 주소에 Load 될지 결졍하는 과정입니다. Address Binding 종류 Compile Time 프로세스의 물리적 주소가 컴파일 때 결정됩니다. 프로세스가 메모리의 어느 위치에 들어갈지 알고 있다면 컴파일러가 절대 주소를 생성합니다. 컴파일 타임의 주소 할당은 내부에서 사용하는 논리적 주소와 물리적 주소가 동일..

Backend/OS 2022.08.16

[OS] Memory Management (1) - 메모리 관리 개념

Memory Management (메모리 관리) 프로그램은 프로세스가 되어 프로세서에 적재되기 위해 메모리에 적재되어야 합니다. 따라서 메모리는 중요한 작업 공간이고, 한정된 메모리를 다중 프로그래밍 환경에서 이용하기 위해서 여러 프로세스가 함께 메모리를 사용하면서 효율적으로 관리해야 합니다. 메모리를 효율적으로 관리하기 위해 메모리 관리자, 메모리 관리 장치(MMU), OS 관리 모듈이 있습니다. 메모리 관리 정책 적재 정책(Fetch Policy) 디스크에서 메모리로 프로세스를 언제 가져와야 할지 정합니다. 배치 정책(Placement Policy) 디스크에서 메모리로 가져온 프로세스를 어느 위치에 저장할 것인지 정합니다. 대치 정책(Replacement Policy) 메모리가 충분하지 않을 때 현재..

Backend/OS 2022.08.09

[OS] Process Management (2) _ CPU 스케줄링

CPU 스케줄링 어떤 프로세스에 CPU를 배정할지 결정하고, 모든 프로세스가 공평하게 작업할 수 있도록 합니다. 스케줄링 목적 공평성 - 모든 프로세스가 자원을 공평하게 배정받아야 합니다. 효율성 - 시스템 자원을 비는 시간 없이 스케줄링 해야합니다. 안전성 - 우선순위를 사용하여 중요한 프로세스가 먼저 처리되도록 해야합니다. 반응 시간 보장 - 응답이 없는 경우 사용자는 시스템이 멈춘 것으로 인식하기 때문에 시스템은 적절한 시간 안에 프로세스의 요구에 반응해야 합니다. 무한 연기 방지 - 특정 프로세스의 작업이 무한히 연기되어서는 안됩니다. 스케줄링의 단계 고수준 스케줄링 시스템 내의 전체 작업 수를 조절합니다. 시스템 과부하를 막기 위해 작업에 따라 승인할지 또는 거부할지를 결정하기 때문에 시스템 내..

Backend/OS 2022.07.27

[OS] Process Management (1) _ 프로세스, 멀티프로그래밍

프로세스 (Process) 메인 메모리에 할당되어 실행 상태(running)인 프로그램을 말합니다. 보조기억장치에 있는 프로그램이 메인 메모리로 적재되었을 때 프로세스라고 부릅니다. 프로세스 상태 (Process Status) new - 메인 메모리에 올라오는 상태입니다. ready - CPU 할당을 받는 것을 기다리는 상태입니다. running - CPU가 할당되어 작업 수행 중인 상태입니다. waiting - 입출력 장치와 같은 CPU 외의 할당을 받아 기다리는 상태입니다. termimated - 모든 작업이 끝난 상태입니다. PCB (Process Control Block) 각 프로세스마다 존재하며 프로세스 상태, 프로세스 번호(PID), PC value, MMU info, CPU time, reg..

Backend/OS 2022.07.26
728x90
반응형