Scatch note
Tag – 운영체제 스터디
8 posts tagged with "운영체제 스터디" (See all tags)

페이지 교체와 정책 (Swap)

2023-03-092 Min Read — In tech

물리메모리를 필요로 하는 프로세스가 N개 있다고 가정합시다. N개의 프로세스는 각각 꽤 큰 크기의 물리메모리를 필요로 해서 프로세스들이 필요한 가상공간의 크기 총 합이 물리메모리의 크기보다 커지면 우리는 N개의 프로그램을 동시에 실행하지 못할 것입니다. Swap Space 이러한 물리메모리의 크기 한계를 극복하기 위해 HDD,SSD 등 보조기억장치를 임시 저장공간인 Swap Space로 사용합니다. 이런 Swap Space…

다양한 페이징 기법 [ Hybrid, Multi Level Paging]

2023-03-082 Min Read — In tech

페이징 기법의 문제점 앞선 글에서 소개한 페이징 기법에서는 페이지의 크기를 4KB로 가정했습니다. 그러나 현대에는 메모리의 크기가 4GB를 넘어 64GB까지도 사용됩니다. 이런 컴퓨터에서 4KB의 페이지를 사용한다면 페이지 개수가 10^6 ~ 10^…

세그멘테이션과 페이징 (+ 비교 )

2023-02-273 Min Read — In tech

불연속 메모리 할당기법 세그멘테이션, 페이징은 대표적인 불연속 메모리 할당기법입니다. 각각 세그먼트, 페이지라는 단위로 프로그램을 나누고 페이지/세그먼트 테이블을 통해 가상/물리 메모리를 매핑, 연속적인 가상 주소공간을 사용할 수 있도록 합니다. 특징 및 연속 할당기법과의 차이 1 여전히 명령어는 가상주소를 기반으로 실행됩니다. Segmentation 프로그램을 의미있는 단위인 Heap, Stack, Code, Data…

연속메모리 할당과 주소 공간

2023-02-202 Min Read — In tech

프로세스에게 메모리를 할당해주는 방식의 발전과정과, CPU가 안전하게 메모리에 접근하기 위해 주소공간을 가상화하는 방법을 설명합니다. 주소공간 1 컴퓨터공학 수업들을 들으며 수없이 봐왔던 주소공간입니다. 이는 프로세스 하나가 실행될때 만들어지는 가상의 주소공간이고, 프로그램 코드 영역에서는…

기본 CPU 스케쥴링 [ FCFS, SJF, SRTF, RR]

2023-02-143 Min Read — In tech

개요 스케쥴링이란, CPU 자원을 계획에 따라 여러 프로세스에게 나누어주는 방법입니다. 여러가지 스케쥴링 항목에 대해 공부하기 전에, 왜 스케쥴러를 사용하는지에 대해 생각하면 더 편하게 이해할 수 있습니다. 앞서 공부한 프로세스의 상태 중, CPU를 할당받기 위해 Ready → Running 상태의 전이를 담당하는것이 스케쥴링입니다. 그래서 기본적으로 Ready Queue…

인터럽트와 제한된 직접 실행

2023-02-143 Min Read — In tech

OSTEP에서 본문에 해당하는 챕터 제목이 “Limited Directed Execution: 제한된 직접 실행 원리” 입니다. 책에서는 인터럽트의 한 종류인 trap에 대해서만 다루지만, 인터럽트에 대해 포괄적으로 알기 위해 관련내용도 정리했습니다. 제한된 직접실행 개요 먼저 Limited가 없는 직접 실행이라는 부분에 대해 알아보자면 , 운영체제가 프로그램의 실행에 관여하지 않고 CPU…

프로세스의 개념과 상태 변화

2023-02-063 Min Read — In tech

프로세스의 개념 프로세스는 프로그램이 실행중인 상태 라고 정의합니다. 프로그램 자체는 디스크에 적재되어있는 상태로, 아무런 동작을 하지 않습니다. 프로그램이 메모리에 적재되고, CPU를 점유해 사용하는 주체를 “프로세스”라고 합니다. 조금 더 구체적으로는 아래와 같이 정의할 수 있습니다. 커널에 등록되고 커널의 관리 하에 있는 작업 → 프로세스 관리 블록(PCB)을 할당받은 프로그램 각종 자원을 요청하고 할당받을 수 있는 개체 CPU…