본문 바로가기

Computer Science/Operating System 36

I/O Register, Device Driver I/O Register I/O device는 I/O bus들에 연결되어 통신을 수행한다. I/O bus에는 ISA, PCI, EISA 등의 종류가 있다. Local bus는 속도가 가장 빠른 bus 이다. CPU와 memory가 빠른 속도로 접근해서 데이터를 가져올 수 있도록 연결되어있다. High-speed I/O bus에는 고속으로 동작해야하는 I/O device가 연결되어있다. Local bus와 high-speed는 interface로 연결되어있다. High-speed I/O bus와 low-speed I/O bus는 bridge로 연결되어있다. 위쪽의 local bus와 interface를 north bridge, high-speed I/O bus와 그 아래쪽을 south bridge라고 한다... 2021. 6. 20.
I/O Devices I/O Devices CPU Execution and I/O CPU execution은 CPU burst + I/O burst로 이루어진다. I/O burst 동안에는 instruction 수행이 중단이 되고 I/O 작업이 처리가 된다. CPU burst는 대부분 처리 시간이 짧고 I/O burst는 처리 시간이 길다. 따라서 사용자의 체감 시간은 대부분 I/O burst가 차지한다. 때문에 I/O burst의 처리 시간을 줄여야 한다. I/O Device의 유형 대부분의 컴퓨터에는 많은 종류의 I/O device들이 존재한다. I/O device에는 다음과 같은 유형이 있다. character devices read/write가 byte 단위(character 단위)로 이루어진다. 예 : 마우스, 키보.. 2021. 6. 20.
성능에 미치는 요인들 성능에 미치는 요인들 성능에 영향을 끼치는 여러가지 요인들이 있다. page size TLB reach Belady's anomaly Page Size Page size는 일반적으로 4KB에서 4MB 사이로 한다. page size가 작아지면 장점 page I/O time이 줄어든다. page fault handling이 작아진다. internal fragmentation이 작아진다. 단점 page table size는 커진다. (더 많은 page를 기록해야 함) page size가 커지면 장점 page table의 크기는 작아진다. total I/O time은 작아진다. 단점 page I/O time이 커진다. page fault handling은 커진다. internal fragmentation은 커.. 2021. 6. 20.
Memory Optimization Memory Optimization 메모리 관리에 있어서 최적화를 해야 한다. Optimization Techniques Copy-on-write : fork 할 때 처음에 copy를 하지 않고 공유하도록 한다. Memory-mapped files : file을 메모리에 올려서 I/O가 메모리에서 일어나도록 한다. Modify bit : dirty bit을 사용해서 swap out 될 때 dirty 만 write 한다. Prepaging : 프로세스가 시작할 때 working set을 메모리에 불러온다. Copy-on-Write write가 발생할 때 copy를 실행한다. 주로 fork에서 사용하는 기법이다. 처음에 child가 만들어질 때는 parent의 address space를 복사하는 것이 아니라.. 2021. 6. 20.
Memory Allocation and Trashing Demand Paging Issue Demand paging을 할 때 memory allocation의 문제를 생각해야 한다. Demand paging으로 인해 trashing 문제가 발생할 수 있다. Memory Allocation Demand paging은 프로세스가 필요로 하는 page만 그때그때 제공하는 것이다. Demand paging을 구현할 때 프로세스가 최소로 필요로 하는 page의 수를 고려해야 한다. 최대로 필요한 page의 수는 제약은 없고, physical memory의 크기에 따라 결정하면 된다. 예를 들어 IBM 370에서 SS MOVE 라는 instructoin은 memory에서 memory로 data를 옮기는 instruction이다. 이 instruction를 처리하기 위해.. 2021. 6. 20.