본문 바로가기

CS 공부/운영체제13

PCB와 Context Switching Process Management CPU가 프로세스가 여러 개일 때, CPU 스케줄링을 통해 관리하는 것을 말한다. 이 때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능하다. 이러한 프로세스들의 특징을 갖고 있는 것이 바로 Process Metadata이다. Process Metadata에는 다음과 같은 정보들이 있다. - Process ID : PID(Process Identification Number) 라고도 한다. : 프로세스 고유 식별 번호 - Process State (프로세스 상태) : 프로세스의 현재 상태(준비, 실행, 대기 상태)를 기억시킨다. - Process Priority (스케줄링 정보) : 프로세스 우선순위 등과 같은 스케줄링 관련 정보를 기억시킨다. - CPU Regis.. 2022. 7. 31.
프로세스 주소공간(Process Address Space) 프로세스의 주소 공간이란? 프로그램이 CPU에 의해 실행되면 프로세스가 생성된다. 프로세스가 메모리를 할당 받으면, 자신만의 방법으로 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리하는데, 우리는 이를 프로세스 주소 공간이라고 부른다. 즉, 메모리에 프로세스의 주소 공간이 할당된다. 프로세스 주소 공간은 코드, 데이터, 스택 영역으로 이루어져 있다. 프로세스 주소 공간을 Code, Data, Stack 으로 구역을 나눈 이유 ? 최대한 데이터를 공유하여 메모리 사용량을 줄이기 위해서이다. Code 부분 존재 이유 코드는 프로그램이 만들어지고 나서는 바뀌지 않기 때문에 Read Only이다. 같은 프로그램이라면 여러 프로세스가 실행되더라도 코드 부분은 모두 같다. 따라서 같은 프로그램의 프로세스인 경.. 2022. 7. 24.
운영체제(OS : Operating System) 란? 운영체제란? 컴퓨터 시스템은 대개 네 가지 구성요소인 하드웨어, 운영체제, 응용 프로그램 및 사용자로 구분할 수 있다. 하드웨어는 중앙 처리장치(CPU), 메모리 및 입출력(I/O) 장치로 구성되어, 기본 계산용 자원을 제공한다. 응용 프로그램인 워드 프로세서, 스프레드시트, 컴파일러, 웹 브라우저 등은 사용자의 계산 문제를 해결하기 위해 이들 자원이 어떻게 사용될지를 정의한다. 운영체제는 다양한 사용자를 위해 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조정한다. 즉,하드웨어를 관리하고 컴퓨터시스템의 자원들을 효율적으로 관리하며, 응용프로그램과 하드웨어간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다. 운영체제의 종류 운영체제의 종류에는 WIndows 98,.. 2022. 7. 17.
메모리(Memory)란? 메모리란? 메인 메모리, RAM을 뜻한다. 프로그램 실행 시 필요한 주소, 정보들을 저장하고 가져다 사용할 수 있게 만드는 공간. 즉, 작업을 위해 사용되는 공간. 메모리 관리가 필요한 이유는? 각각의 프로세스는 독립된 메모리 공간을 갖고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있다. 단지, 운영체제만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않기 때문에 운영체제에서 메모리를 관리한다. 또한, 멀티프로그래밍 환경으로 변화하면서 한정된 메모리를 효율적으로 사용해야 했고, 운영체제가 이를 어떻게 관리하는지에 대한 관리방법이 중요해졌다. 운영체제의 역할 실행파일이 로더에 의해 메모리에 올라오고 운영체제는 이 실행파일을 메모리에 어느 부분에 올릴지 결정.. 2022. 6. 19.
페이지 교체 (Page-Replacement) 알고리즘 페이지 교체란? 페이지 부재가 발생하면 요청된 페이지를 디스크에서 메모리로 읽어와야하는데, 물리적 메모리에 빈 프레임이 존재하지 않을 수 있다. 이러한 경우, 메모리에 올라와 있는 페이지 중 하나를 디스크로 쫓아내 메모리에 빈 공간을 확보하여 새로운 페이지를 메모리에 올려야 한다. 이러한 과정을 페이지 교체라고 부르며, page-out이 된 페이지를 희생양 페이지(victim page)라고 한다. * 페이지 부재란? CPU가 접근하려는 페이지가 메모리에 없는 상황 페이지 교체 알고리즘의 종류 OPT - Optimal : 앞으로 가장 오랫동안 사용되지 않을 페이지 교체 FIFO - First In First Out LRU - Least Recently Used : 가장 오랫동안 사용되지 않은 페이지 교체 .. 2022. 6. 19.
인터럽트(Interrupt) 정의 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행 중인 작업을 즉시 중단하고, 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것이다. 지금 수행 중인 일보다 더 중요한 일(ex. 입출력, 우선 순위 연산 등)이 발생하면 그 일을 먼저 처리하고 나서 하던 일을 계속해야한다. CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치나 예외상황이 발생하여 처리가 필요할 경우에 마이크로프로세서에게 알려 처리할 수 있도록 하는 것을 말한다. 인터럽트는 크게 하드웨어 인터럽트와 소프트웨어 인터럽트로 나뉜다. 하드웨어 인터럽트 (외부 인터럽트)는 CPU의 하드웨어 신호에 의해 발생하고, 소프트웨어 인터럽트 (내부 인터럽트)는 명령어의 수행에 의해 발생한다. 하드웨어 인터.. 2022. 6. 12.