Computer Science/Operating System14 [Operating System] I/O Systems I/O HardwareI/O 디바이스는 다음으로 구성되어 있다.- Port : 레지스터로 구성된 연결점- Bus : 데이터 이동 통로- Controller : 포트, 버스 또는 장치를 작동할 수 있는 전자장치 집합체 CPU는 Memory-Mapped I/O를 통해 컨트롤러에 명령어 또는 데이터를 전달한다.- Memory-Mapped I/O : 디바이스 제어 레지스터가 CPU 주소 공간에 매핑되어 있어, CPU가 일반적으로 데이터를 읽거나 Instruction을 수행하듯 I/O를 요청을 수행하는 것 I/O Port는 네 가지 레지스터로 구성되어 있다.- Status register : 디바이스의 상태를 나타내는 레지스터- Control register : 디바이스의 모드를 변경하거나 명령어를 시작하려는 호.. 2024. 9. 1. [Operating System] Mass Storage Management (대용량 저장장치 관리) Physical Disk Structure- 디스크는 회전하는 금속 Platter와 이를 읽는 Header들로 구성되어 있다.- 디스크를 읽기 위해서 다음과 같은 정보들이 필요한데, 이를 CHS 주소 체계라고 한다.1. Cylinder #2. Surface(Header) #3. Sector #4. Total transfer time = Seek time + Rotational delay + Transfer time5. Memory address 디스크에 있는 데이터는 운영체제에 의해 logical block들로 구성된 1차원 배열로 관리된다. 그 배열은 디스크의 Sector와 맵핑되어 있다. 디스크 컨트롤러는 그 배열의 주소를 CHS 주소로 변경한 다음 디스크를 읽는다. Disk Scheduling.. 2024. 8. 29. [Operating System] File System (2) (파일 시스템) Contiguous Allocation- 각각의 파일은 디스크 공간에서 연속적으로 블럭을 가지고 있다.- 디스크에서 파일의 시작위치와 파일의 길이만 있으면 된다.- 저장 공간을 동적으로 할당하기 때문에 External Fragmentation이 많이 생길 수 있다.- File 생성 시 얼마나 큰 hole을 배당할 것인가도 고려해야 하며, File의 크기를 키우면 Internal Fragmentation이 발생할 수 있다.- 파일이 연속적으로 디스크에 저장되어있기 때문에 디스크의 헤더가 많이 움직일 필요가 없어 I/O가 빠르게 수행될 수 있다. 특히, 동영상이나 음성파일과 같은 실시간으로 읽어야 하는 파일 수행에 효과적이다.Linked Allocation- 파일 데이터를 불연속적으로 흩뿌려 저장하고 그것들.. 2024. 8. 27. [Operating System] File System (1) (파일 시스템) File ConceptFile : 데이터 또는 프로그램을 포함하는 연속적인 논리 주소 공간 File Attribute (File Metadata)- Name : 사람이 읽을 수 있는 형태로 유지된 유일한 정보- Type : 여러 유형을 제공하는 시스템을 위해 필요- Location : 파일이 존재하는 장치와 그 장치 내의 위치에 대한 포인터- Size : 파일의 현재 크기(바이트, 워드 혹은 블록들로 나타낸다.)- Protection : 누가 읽기, 쓰기, 실행 등을 할 수 있는가를 제어- Time, date, and user identification : 생성, 최근 변경, 최근 사용 등을 유지하고, 이들 자료는 보호, 보안 및 사용자 감시를 위해 사용된다. File Operation- Create :.. 2024. 8. 25. [Operating System] Virtual Memory (2) (가상 메모리) Global vs. Local ReplacementGlobal Replacement : 프로세스가 교체할 프레임을 다른 프로세스에 속한 프레임을 포함한 모든 프레임을 대상으로 찾는 경우이다. 이를 구현한 알고리즘의 한 가지 문제점은 프로세스의 메모리에 있는 페이지 집합이 해당 프로세스의 페이징 동작 뿐만 아니라 다른 프로세스의 페이징 동작에도 영향을 받는 다는 것이다.Local Replacement : 각 프로세스가 자기에게 할당된 프레임 중에서만 교체될 Victim 프레임을 선택할 수 있는 경우이다. 이를 구현한 알고리즘에서는 Global Replacement에서 발생하는 문제가 발생하지는 않지만 잘 안쓰는 페이지 프레임이 있더라도 그것을 그대로 낭비할 수가 있다.-> 일반적으로 Global Repla.. 2024. 8. 21. [Operating System] Virtual Memory (1) (가상 메모리) Virtual Memory- 메모리에 프로세스의 모든 부분을 한꺼번에 다 로드하면, 메모리 용량이 큰 프로그램을 하나만 실행해도 메모리 용량이 부족해진다.- 따라서 프로세스의 전 부분을 한꺼번에 로드하는 것이 아닌, 실행 중에 필요한 부분만을 메모리에 로드하고 필요 없는 부분은 메모리에서 제외하기 위한 방법이 가상 메모리 기법이다.- 가상 메모리 기법으로 여러 프로세스가 메모리 주소 공간을 공유할 수 있고, 프로세스 생성을 효율적으로 수행할 수 있다. 가상 메모리 공간은 물리 메모리 공간보다 훨씬 넓다. Demand Paging- 페이지가 필요할 때만 디스크에서 메모리로 로드한다. 이는 적은 수의 I/O가 발생하게 하고, 크지 않으며 응답이 빠른 메모리를 가질 수 있게 하며, 여러 프로세스의 메모리 주소.. 2024. 8. 20. 이전 1 2 3 다음