본문 바로가기

Dev.Basic/운영체제

(26)
[OS] 멀티스레딩에 대해서 멀티스레딩에 대해서 #프로세스와 스레드의 차이 프로세스는 운영체제로부터 자원을 할당받는 작업의 단위이고스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위이다. 프로세스는 실행 중인 프로그램으로 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것을 말한다. 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이것들을 총칭하여 프로세스라고 한다. 스레드는 프로세스의 실행 단위라고 할 수 있다. 한 프로세스 내에서 동작되는 여러 실행 흐름으로 프로세스 내의 주소 공간이나 자원을 공유할 수 있다. 하나의 프로세스를 다수의 실행 단위로 구분하여 자원을 공유하고 자원의 생성과 관리의 중복성을 최소화하여 수행 능력을 향상시키는 것을 멀티스레딩이라고 한다. 이 경우 각각의 스레드는 독립적인 작업..
[OS] 11-2. Disk Management & Scheduling II Chapter 11-2. Disk Management & Scheduling IIDisk Scheduling Algorithm큐에 다음과 같은 실린더 위치의 요청이 존재하는 경우,디스크 헤드 53번에서 시작한 각 알고리즘의 수행 결과는? (실린더 위치는 0-199) 98, 183, 37, 122, 14, 124, 65, 67 각각의 알고리즘에 대입하여 살펴보자. FCFS(First Come First Service) 들어온 순서대로 처리해주는 방법이다.=> 98, 183, 37, 122, 14, 124, 65, 67 안쪽과 바깥쪽 번호가 요청되면 굉장히 비효율적인 헤더 이동을 보이게 된다. SSTF(Shortest Seek Time First) 현재 헤더 위치에서 가장 가까운 위치에 존재하는 헤더 요청을..
[OS] 11-1. Disk Management & Scheduling I Chapter 11-1. Disk Management & Scheduling IDisk StructureLogical block디스크의 외부에서 보는 디스크의 단위 정보 저장 공간을 의미한다.주소를 가진 1차원 배열로 인식을 하며 정보를 전송하는 최소 단위이다. Sector디스크 내부에서 디스크를 관리하는 최소 단위이다.logical block 이 물리적인 디스크에 매핑된 위치인 것이다.Sector 0은 최외곽 실린더의 첫 트랙에 있는 첫번째 섹터이다. Disk ManagementPhysical formatting (low-level formatting) 디스크가 처음에 해주는 포맷 과정으로, 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정을 말한다.각 섹터는 header + 실제 data(..
[OS] 10-4. File System IV Chapter 10-4. File System IV - File System StructureDirectory ImplementationDirectory에 file의 meta data를 어떻게 저장할 것인가? Linear list순서리스트의 구조로 저장한다.단순하기 때문에 구현이 간단하지만 파일을 찾기 위해 linear search가 필요하다. Hash Tablelinear list 구조에 hash 구조를 더한 방법이다.search time을 없애는 것이 목적이지만 hash 구조의 특성상 Collision이 발생할 수 있다. VFS(Virtual File System)사용자가 파일시스템에 접근하기 위해서는 시스템 콜을 요청해야 한다.서로 다른 다양한 file system에 대해 동일한 시스템 콜 인터페이..
[OS] 10-3. File System III Chapter 10-2. File System III - File System StructureUnix File System StructureUnix에서는 Index Allocation 방법을 약간 변형하여 사용하고 있다. PartitionBoot blockbooting에 필요한 정보를 담고 있어서 부팅 시 필요한 부분이기 대문에어떤 파일 시스템에서라도 가장 먼저 등장하는 block이다. Super block 파일 시스템에 관한 총체적인 정보를 담고 있다.여기서 말하는 총체적인 정보른 어느 부분이 비어있는 블럭이고, 어느 부분이 사용 중인 블럭인지,또는 어디부터가 Inode block인지, Data block인지에 대한 정보를 말한다. Inode listmeta data를 따로 저장하는 장소이다.파일 하..
[OS] 10-2. File System II Chapter 10-2. File System II - File System ImplementationAllocation of File Data in Disk파일은 크기가 균일하지 않다는 특징을 가지고 있다.그래서 파일을 동일한 크기 단위은 sector로 나누어 저장을 한다.디스크에 파일을 저장하는 방법은 크게 3가지가 존재한다.메모리 관리 기법 중 paging 기법과 비슷하다. Contiguous Allocation ( 연속 할당 )하나의 파일이 디스크 상에 연속해서 저장되는 방법으로, 나누어진 각 블록들이 연속된 번호를 부여받아 저장된다.발생하게 되는 단점 external fragmentation가 발생하게 된다.File Growth is dificult.파일의 크기는 유동적이다. 이 때, 파일의 크..
[OS] 10-1. File System Chapter 10-1. File System IFileA named collection of related information파일이란 관련있는 정보들의 집합을 일컫는 말로,운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해준다.이 파일들은 일반적으로 비휘발성의 보조기억장치에 저장된다. Operation(연산자)create, delete, read, write, open, close, reposition(Iseek)*reposition : 위치를 변경 및 저장하는 연산자.*open : meta data를 메모리에 올리는 연산연산자는 모두 시스템 콜(system call)이다. File attribute(meta data)파일 자체의 내용이 아니라 파일을 관리하기 위한 각종..
[OS] 9-3. Virtual Memory III Chapter 9-3. Virtual Memory IIIClock AlgorithmLRU와 비슷한 알고리즘으로, Second chance algorithm, NUR, NRU라고도 불린다.Circular Linked list 구조를 취하고 있다.이 알고리즘에서는 Reference bit이라는 것이 사용된다.하드웨어에 의해 조작되며 운영체제는 Reference bit을 참고해서 쫓아낼 페이지를 결정하게 된다.Reference bit이 1이면, 최근에 사용된 페이지이고 0이면 최근에 사용된 것이 아니기 때문에 page fault를 발생한다.이름 그대로 시계모양을 하고 있으며,시계 방향으로 움직이면서, reference bit이 1이면 0으로 바꾸고, 한바퀴를 돌고 돌아와서 0인 것을 쫓아낸다.한 바퀴를 돌고 ..