Disk Management (2)
·
운영체제[반효경]/Ch11. Disk Management & Scheduling
Swap-Space ManagementDisk 를 사용하는 두 가지 이유Memory의 휘발성인 성질 → file system전원이 나가면 D-Ram 메모리는 사라지게 된다 → 그래서 file system 처럼 영속적으로 데이터를 유지해야 하는 것들은 D-Ram에 저장하면 안되기 때문에 비휘발성인 disk에 사용한다프로그램 실행을 위한 memory 공간 부족  → swap space(swap area)프로그램의 주소공간 전체를 물리적인 메모리에 올려두기엔 공간이 부족해서, 멀티 프로그래밍 디그리가 높아지면서 d-ram 메모리 공간이 부족하다. 그래서 메모리의 연장공간으로 디스크를 사용한다Swap-space 하드디스크쪽에서는 어떻게 관리 되어야 하는가?Virtual memory system에서는 디스크를 m..
Disk Management (1)
·
운영체제[반효경]/Ch11. Disk Management & Scheduling
Disk Structurelogical block디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들주소를 가진 1차원 배열처럼 취급정보를 전송하는 최소 단위Sector내부에서 관리하는 단위Logical block이 물리적인 디스크에 매핑된 위치디스크에서 가장 바깥쪽의 실린더의 첫번째 트랙에 있는 첫번째 섹터가 섹터 0어떤 파일시스템을 쓰던 부팅과 관련된 정보가 저장된다Disk ManagementPhysical formatting (Low-level formatting)디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정각 섹터는 header + 실제 data (보통 512 bytes) + trailer로 구성섹터는 디스크 외부에서 요청하는 로지컬 블록을 저장하기도 하지만, 그 외에 부가적으로 ..
File System (3)
·
운영체제[반효경]/Ch10. File System
(2)에 이어서 File Implementation 설명 기존의 파일을 읽고 쓰는 방법 (2가지 인터페이스가 존재한다) 파일을 Open 하고 read and write를 한다해당하는 파일의 내용이 버퍼캐시에 있으면 바로 전달한다없으면 디스크파일시스템에서 읽어서 전달해준다사용자 프로그램은 자신의 주소영역에 있는 page에다가 buffer cache 내용을 카피해서 사용한다Memory Mapped I/O운영체제에게 "Memory Mapped I/O 쓸게" 라는 mmap 라는 것을한다자신의 주소공간의 일부를 파일에다가 매핑을 한다그 내용을 page cache에다가 카피한다내용이 file에 mapped 된 내용이 된다맵핑 이후에는 운영체제의 간섭없이 내 메모리 영역에 데이터를 읽고 쓰는 방식으로 파일 입출력이 ..
File System 2
·
운영체제[반효경]/Ch10. File System
Allocation of File Data in Disk - 파일의 데이터를 저장하는 방법Contiguous Allocation - 연속할당Linked Allocation - 연결할당Indexed AllocationContiguous Allocation하나의 파일이 디스크상에 연속으로 인접한 번호로 저장된다File의 크기는 균일하지 않다File을 동일한 크기의 섹터에 나눠서 저장한다 (논리적 블록)장점:빠른 I/O디스크의 대부분 접근시간이 헤더가 이동하는 시간인데 한번만 이동하면 많은 양의 데이터를 한번에 get! 할 수 있어서대용량의 많은 데이터를 빠르게 가져오고 내쫓는 swapping 용도로 쓰이기 좋다RealTime 용도로 사용 가능직접접근가능단점각가의 차일의 크기가 균일하지 않아서 외부조각이 발생..
File System (1)
·
운영체제[반효경]/Ch10. File System
File and File SystemFile이름을 통해 접근하는 정보의 집합일반적으로 비휘발성의 보조기억장치에 저장 (하드디스크)운영체제는 다양한 저장 장치를 file 이라는 동일한 논리적 단위로 볼 수 있게 해준다device special file (장치들을 관리하기 위해서)연산Create(생성)Read(읽기)Write(쓰기)Reposition(lseek)파일의 어느 곳을 읽고 쓰느냐 하는 Pointer가 존재한다한번 읽고 나면 Pointer가 그 다음 부분을 가리킨다필요에 의해서 다른 부분부터 읽고 쓰기 위해 수정해주는 연산이다Delete(지우기)Open(열기)파일의 내용을 디스크에서 메모리로 올리는 것이 아니라 meta data를 올린다Close(닫기)File Attribute (Metadata)파..
Virtual Memory (2)
·
운영체제[반효경]/Ch09. Virtual Memory
다양한 캐싱 환경캐싱 기법한정된 빠른 공간 (캐시)에 요청된 데이터를 저장해 두었다가 후속 요청시 캐시로부터 직접 서비스하는 방식Paging System 외에도 cache memory, buffer caching, Web caching 등 다양한 분야에서 사용캐시 운영의 시간 제약교체 알고리즘에서 삭제할 항목을 결정하는 일에 지나치게 많은 시간이 걸리는 경우 실제 시스템에서 사용할 수 없음Buffer caching이나 Web caching의 경우O(1)에서 O(log n) 정도까지 허용Paging System인 경우page fault인 경우에만 OS가 관여함페이지가 이미 메모리에 존재하는 경우 참조시각 등의 정보를 OS가 알 수 없음O(1)의 LRU의 list 조작조차 불가능LRU와 LFU 알고리즘의 구..
Virtual Memory (1)
·
운영체제[반효경]/Ch09. Virtual Memory
메모리 주소변환은 운영체제가 관여하지 않지만, 이 가상 메모리 기법은 전적으로 운영체제가 관여한다. Demand Paging프로그램에서 빈번히 사용되는 부분은 지극히 제한적이다. 그렇기 때문에 메모리에 이 페이지들을 올리는 것은 분명한 낭비이다. 따라서 필요할 때만 페이지를 메모리에 올리는 것이 Demand Paging이다실제로 필요할 때 page를 메모리에 올리는 것I/O 양의 감소Memory 사용량 감소빠른 응답 시간더 많은 사용자 수용Valid/Invalid의 사용Invalid의 의미사용되지 않는 주소 영역인 경우페이지가 물리적 메모리에 없는 경우처음에는 모든 Page Entry가 invalid로 초기화address translation 시에 invalid bit이 set 되어 있으면 → "page..
System Structure & Program Execution (2)
·
운영체제[반효경]/Ch02. System Structure&Program Execution
동기식 입출력과 비동기식 입출력입출력을 하는 동안에 프로세스가 다음 작업을 수행하지 않는다 vs 수행한다 에 따라 각각 동기식, 비동기식 입출력으로 분류동기식 입출력(Synchronous I/O)I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어감구현방법 1I/O 가 끝날 때까지 CPU를 낭비시킴매시점 하나의 I/O만 일어날 수 있음구현방법 2I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗음I/O 처리를 기다리는 줄에 그 프로그램을 줄 세움다른 프로그램에게 CPU를 줌비동기식 입출력 (asynchronous I/O)I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어감* 두 경우 모두 I/O의 완료는 인터럽트로 알려줌 DMA (Dir..
System Structure & Program Execution (1)
·
운영체제[반효경]/Ch02. System Structure&Program Execution
컴퓨터의 하드웨어적의 설명 CPU, Memory = Computer나머지는 I/O deviceI/O device  input (I/O 디바이스의 데이터가 컴퓨터 안으로 들어가는 것) output (받은 데이터를 다시 I/O device) 로 보내는 것Memory cpu의 작업공간cpu에서 일을 하려면 매 클럭사이클마다 메모리에서 기계어(instruction)를 하나씩 읽어서 실행한다I/O device들은 device controller가 달려있다  device controller도 작업공간이 필요하다 : local bufferCPU 안에는 메모리보다 빠르고 작은 저장공간이 있다 : registermode bit  CPU에서 실행되는 것이 운영체제인지 사용자 프로그램인지 구분해주는 것interrupt li..
Memory Management (3) 불연속할당
·
운영체제[반효경]/Ch08. Memory Management
Non-contiguous allocationPagingVirtual Memory를 일정한 사이즈의 Page단위로 나눈다Physical Memory를 일정한 사이즈의 Frame단위로 나눈다 (Frame = Page, 크기)Virtual Memory의 내용이 Physical memory에 page 단위로 non-contiguous하게 저장된다일부는 backing storage, 일부는 physical memory에 저장한다기본개념물리적 메모리를 동일 크기의 frame 단위로 나눈다논리적 메모리를 동일 크기의 page로 나눔 (frame과 같은 크기)모든 가용 frame들을 관리page table을 사용하여 logical address를 physical address 로 변환외부조각 발생 안함내부조각 발생 ..