본문 바로가기

대학교 공부28

운영체제 (11) - I/O Management and Disk Scheduling 2024년 1학기 운영체제 수업을 듣고 정리한 내용입니다. 수업 교재는 운영체제 - 내부구조 및 설계원리 8 판입니다.Disk Performance Parameters디스크 내부는 얇은 판이 여러 개 겹쳐져 있고 각 판 사이에 데이터를 읽는 헤드가 존재한다. 판을 회전시키거나 헤드를 앞뒤로 움직여 데이터를 읽는데, 헤드를 이동하는 시간(seek time)보다 판이 회전하는 시간이 월등히 빠르다. 또한 데이터를 읽는 시간은 굉장히 짧으므로 실제로 고려해야하는 것은 어떻게 헤드를 이동시키는가이다.판은 수십개의 트랙이 겹쳐져 있고 헤드는 이 트랙을 왔다갔다하며 데이터를 읽는다.예시로 0부터 200까지의 트랙이 있다고 가정하고, 다음의 트랙을 방문해야한다고 하자. 그리고 헤드의 시작 위치를 100으로 고정한다... 2025. 6. 19.
운영체제 (10) - Multiprocessor and Real-Time Scheduling 2024년 1학기 운영체제 수업을 듣고 정리한 내용입니다. 수업 교재는 운영체제 - 내부구조 및 설계원리 8 판입니다.멀티프로세서라는 단어는 한 메모리를 공유하는 여러 CPU들의 집합이다.Scheduling Design Issues멀티프로세서를 사용한 스케줄링은 3가지 디자인 이슈를 갖는다.Assignment of Processes to ProcessorsCPU에게 어떻게 프로세스를 할당해줄 것인지를 말한다. 각 CPU마다 큐를 가질 경우 CPU가 큐에 있는 프로세스를 바로 꺼내와 실행시킬 수 있지만, 각각 실행시간이 다른 프로세스들을 골고루 분배할 수 없는 단점이 있다. 그러므로 이 문제를 해결할 수 없어서 Ready 큐를 글로벌 큐로 1개만 두고 각 CPU가 critical section에 접근하여 .. 2025. 6. 19.
운영체제 (9) - Uniprocessor Scheduling 2024년 1학기 운영체제 수업을 듣고 정리한 내용입니다. 수업 교재는 운영체제 - 내부구조 및 설계원리 8 판입니다.Aim of Scheduling프로세서가 한 개인 시스템에서 여러 프로세스를 스케줄링할 때 다음과 같은 목표를 달성하는 방향으로 전략을 짠다.응답 시간Throughput (단위 시간동안 실행을 완료한 프로세스 수)Processor efficiency (CPU 사용도, OS보다 유저 프로그램을 많이 실행하면 좋은 것)Fiarness (모든 프로세스에게 공정한 실행 기회)그러나 모든 목표를 신경쓰면서 할 수 없기 때문에 이 중에 한 가지만이라도 집중하는 방향으로 전략을 짜게 된다.수업시간에는 응답 시간에 집중하는 방향으로 배운 것 같다.Type of Scheduling프로세스 스케줄링이 일어.. 2025. 6. 18.
운영체제 (8) - Virtual Memory 2024년 1학기 운영체제 수업을 듣고 정리한 내용입니다. 수업 교재는 운영체제 - 내부구조 및 설계원리 8 판입니다.Virtual memory가상 메모리는 RAM과 하드디스크를 모두 메모리로 사용하는 것이다. 메인 메모리는 RAM으로, 서브 메모리는 하드디스크로 사용한다.Execution of a program in virtual memory가상 메모리에서는 모든 페이지/세그먼트들을 메모리에 올리지 않고 일부 페이지/세그먼트만 메모리에 올린다. 메모리에 올라간 페이지/세그먼트들을 Resident set이라고 부른다. 메모리에 올라간 페이지/세그먼트들 속 프로세스가 프로그램을 실행할 때, 특정 페이지/세그먼트를 찾는 경우가 있다. 하지만 메인 메모리에 페이지가 없고 서브 메모리에 존재하는 경우에는 Pag.. 2025. 6. 18.
운영체제 (7) - Memory Management 2024년 1학기 운영체제 수업을 듣고 정리한 내용입니다. 수업 교재는 운영체제 - 내부구조 및 설계원리 8 판입니다.Memory management메인 메모리만 사용하는 시스템에서는 메모리 공간을 나누어 각 프로세스가 작업을 한다. 낭비되는 공간이 없도록 잘 나누어 사용해야 메모리에 많은 프로세스를 올려서 작업할 수 있다.메모리를 나누어 관리할 때 OS는 3가지 작업을 하게 된다.Relocation프로세스가 메모리에 올라가기 전에 프로그램이 OS에 의해 컴파일되는데, 이 때 분기 명령어와 같이 다른 메모리의 주소로 jump하는 명령어를 컴파일하려면 메모리의 주소를 알아야 한다. 컴파일 시기에는 이 프로그램이 실제 메모리의 어떤 위치로 올라갈지 알 수 없으므로 Program의 시작 부분을 0번지(상대 주.. 2025. 6. 18.
운영체제 (6) - Concurrency: Deadlock and Starvation 2024년 1학기 운영체제 수업을 듣고 정리한 내용입니다. 수업 교재는 운영체제 - 내부구조 및 설계원리 8 판입니다.Deadlock두 개 이상의 프로세스에서 발생한다. 서로 Blocked 상태인데 오직 상대방이 나의 Blocked 상태를 해제시켜줄 수 있을 때 Deadlock이 발생했다고 한다. 발생 조건데드락은 4가지 조건이 모두 만족될 경우 발생한다.Mutual Exclusion : 한 자원에 대해 한 프로세스만 사용가능할 때Hold and Wait : 어떤 자원을 가진 상태에서 다른 자원을 쓰기 위해 기다릴 때No Preemption : 누구도 프로세스가 가진 자원을 뺏지 못할 때Circular wait : 프로세스끼리 원형 관계가 형성될 때원형관계는 서로가 서로의 자원을 얻으려하는 것이다.Res.. 2025. 6. 18.