728x90
반응형

운영체제

728x90
반응형
Embedded system/[KOCW] 운영체제

[운영체제] 파일 시스템 (File Open, File Descriptor, File System Mount)

[ File System ] 파일은 하드 디스크에 이름을 가지고 저장한다. 메모리는 주소를 통해서 접근하는 장치인 반면 파일은 이름을 통해서 접근한다. 리눅스 같은 운영체제에서는 장치들을 관리하기 위해서 파일이라는 이름을 사용해서 관리하기도 한다. 다양한 저장 장치들을 서로 다른 파일로 관리하고 있으며 이러한 파일을 Device Special File이라고 한다. 일반적으로 우리가 접근하는 파일과는 약간 다른 개념이다. ​ '이름'을 입력으로 받아 해당 데이터를 리턴해주는 소프트웨어가 바로 파일 시스템이다. 파일 시스템이 하드 디스크에 저장하는 정보는 크게 메타 데이터와 사용자 데이터로 나뉜다. 메타 데이터 : 파일의 속성 정보나 데이터 블록 인덱스 정보 사용자 데이터 : 사용자가 실제 기록하려고 했던 ..

Embedded system/[KOCW] 운영체제

[운영체제] Virtual Memory 6 (Working Set)

[ Working-Set ] 프로그램들이 메모리에서 원활하게 실행이 되려면 어느 정도의 Page Frame을 갖고 있어야 한다. 또한, 프로그램은 특정 시간에는 특정 메모리 위치만 집중적으로 참조하는 특징이 있다. (Reference의 Locality) ​ 예를 들어, for Loop가 실행이 되고 있는 동안에는 Loop를 구성하는 페이지만 집중적으로 참조가 된다. 프로그램이 실행이 되면 함수 구조로 되어있는데, 그 함수를 구성하는 페이지만 집중적으로 참조한다. Working Set은 적어도 한꺼번에 올라와 있도록 보장해 줘야 Page Fault가 자주 발생하지 않는다. ​ 동시에 너무 많은 프로그램들이 메모리에 올라가 있으면 Working Set을 보장할 수 없는 상태가 된다. ​ 예를 들어, Work..

Embedded system/[KOCW] 운영체제

[운영체제] Virtual memory 4 (Paging System에서 LRU, LFU, Clock Algorithm)

[ Paging System에서 LRU, LFU 사용 가능? ] 만약 CPU에서 프로세스 A가 Running 중일 경우, 프로세스 A의 논리적인 메모리에서 Instruction을 하나씩 읽어와서 실행한다. CPU가 프로세스 A에 대한 논리적 주소를 주면 Page Table을 통해서 물리적 메모리 주소로 변환하여 해당 주소의 내용을 CPU로 읽어 들어야 한다. 주소 변환 후, 해당 페이지가 물리적 메모리에 올라와 있으면 물리적 메모리에서 직접 내용을 읽어 CPU로 가져간다. 이 과정에서 운영체제가 하는 일은 없다. 주소 변환은 하드웨어적으로 일어나는 일이며, CPU는 프로세스 A가 가지고 있으면서 주소 변환 후 메모리 참조를 한다. ​ 반면에 프로세스 A가 Running 하면서 주소 변환을 요청했는데 In..

Embedded system/[KOCW] 운영체제

[운영체제] Virtual memory 3 (다양한 캐싱 환경, Paging System, Cache Memory, Buffer Caching, Web Cacging)

● 다양한 캐싱 환경 Replacement 알고리즘은 가상 메모리 시스템에서만 사용되는 게 아니라 Caching이라는 다양한 곳에서 사용이 되고 있다. 한정된 빠른 공간에다 데이터를 저장해 놓고, 다음에 똑같은 요청이 왔을 때 느린 저장 장치까지 가지 않고 Cache로부터 바로 서비스를 한다. 속도가 더 빠르다. ​ ✓ Paging System Paging System에서는 한정된 빠른 공간이 메인 메모리이고 느린 저장 장치가 Backing Store이다. 그래서 가능하면 물리적 메모리에서 서비스를 하며, 메모리에 올라와 있지 않을 때 (Page Fault)에만 Backing Store에서 읽어온다. ✓ Cache Memory CPU가 메모리에 접근할 때, 메모리에 직접 접근하는 게 아니라 CPU와 Ma..

Embedded system/[KOCW] 운영체제

[운영체제] Virtual memory 2 (페이지 교체, Page Replacement, Optimal Algorithm, LRU, LFU)

[ 페이지 교체 (Page Replacement) ] 페이지를 쫓아내는 걸 Page Replacement라고 하며 OS가 하는 일이다. 이때 사용하는 알고리즘은 Replacement Algorithm이다. ​비어있는 페이지가 없는 경우에는 어떤 페이지를 쫓아낸 후, 해당 메모리에 페이지를 올려야 한다. 가능하면 Page Fault가 일어나지 않고 되도록이면 메모리에서 직접 처리할 수 있도록 되어있다. 왜냐하면 페이지를 쫓아내고 난 후, 시간이 얼마 지나지 않아 그 페이지가 다시 참조가 되면 해당 페이지를 Swap area에서 메모리로 다시 올려야 한다. 이 과정은 시간이 매우 오래 걸린다. ​ 어떤 페이지를 메모리에서 쫓아내고 그 자리에 어떤 페이지를 올려놓을 것인가를 결정해야 한다. 가능한 Page F..

Embedded system/[KOCW] 운영체제

[운영체제] Memory Management 7 (불연속 할당/Segmentation 기법)

불연속 할당은 Paging 기법과 Segmantation 기법 두 가지로 나뉘며, 이번 포스팅에서는 Segmentation 기법을 다룰 것이다. ↓ Paging 기법 ↓ 2023.02.10 - [Operating System] - [운영체제] Memory Management 4 (불연속할당/Paging 기법) [운영체제] Memory Management 4 (불연속할당/Paging 기법) 연속 할당 : 프로그램이 메모리에 올라갈 때 통째로 메모리에 올라가는 방식 불연속 할당 : 프로그램을 구성하는 주소 공간을 같은 크기의 페이지 단위로 잘게 쪼개서 페이지 단위로 메모리에 rannnneey.tistory.com 2023.02.12 - [Operating System] - [운영체제] Memory Manag..

Embedded system/[KOCW] 운영체제

[운영체제] Memory Management 5 (불연속 할당, Paging 기법, Two-Level Page Table)

이전 발행글 2023.02.10 - [Operating System] - [운영체제] Memory Management 4 (불연속할당/Paging 기법) [운영체제] Memory Management 4 (불연속할당/Paging 기법) 연속 할당 : 프로그램이 메모리에 올라갈 때 통째로 메모리에 올라가는 방식 불연속 할당 : 프로그램을 구성하는 주소 공간을 같은 크기의 페이지 단위로 잘게 쪼개서 페이지 단위로 메모리에 rannnneey.tistory.com [ Two-Level Page Table (2단계 페이지 테이블) ] 두 단계 페이지 테이블은 공간을 줄이기 위해서 사용한다. 2단계 페이지 테이블은 페이지 테이블이 안쪽 페이지 테이블과 바깥쪽 페이지 테이블 두 개가 존재한다. CPU가 논리적 주소를 ..

Embedded system/[KOCW] 운영체제

[운영체제] CPU 스케줄링 1 (CPU burst Time, Scheduler & Dispatcher)

● CPU and I/O burst in program Excution 프로그램 실행이 되면 프로그램은 아래와 같은 Path를 실행한다. 프로세스는 CPU에서 기계어가 실행되는 상태와 I/O 작업을 하는 상태의 반복이다. 프로그램마다 다르겠지만 CPU만 쭉 쓰는 프로그램도 있을 거고, 중간에 I/O가 많이 들어오는 프로그램도 있다. 어쨌든 프로그램의 path는 CPU를 쓰는 단계와 I/O를 쓰는 단계가 번갈아가면서 실행한다. CPU Burst : CPU만 연속적으로 쓰면스 Instruction을 실행하는 단계 I/O Burst : I/O를 실행하고 있는 단계​ ​ ● CPU burst Time 아래 그림은 컴퓨터 안에서 돌아가는 프로그램들의 CPU burst Time을 그래프로 찍어본 것이다. 주로 사람..

728x90
반응형
라닝
'운영체제' 태그의 글 목록