본문 바로가기
반응형

반도체 그 다음 학문/운영체제 (OS)37

운영체제 Linux Schedule Algorithm ( O(N), O(1), CFS, 변천사 ) O(N) Algorithm - version 2.4에는 O(N) algorithm을 사용했다. 단순히 N개의 프로세스가 있는 ready queue를 확인하며 우선순위에 따라 time quantum 기준으로 실행했다. 이러니 프로세스가 많으면 많은 시간이 걸린다는 단점이 있다. Q(1) Algorithm - version 2.6에서는 O(1) algorithm을 사용했다. O(1)은 runqueue를 이용하여 프로세스의 수와 상관없이 queue마다 정해진 시간(constant time) 동안 task를 동작하는 것이다. # run queue란, cpu에 실행되기 전에 대기하는 queue라고 생각하면 되는데 Active(활성) array와 Expired(만료) array로 나눈다. O(1) 알고리즘을 동작을.. 2022. 4. 28.
운영체제 Multocore Processors (NUMA, SMT, Automatic NUMA Balancing, Task migration, page migration, Task grouping, Pseudo interleaving ) 먼저 비교를 통해 어떤 구조가 더 좋은지 보자. 하나는 2개의 프로세서가 2개의 core가 각각 존재하고, 다른 하나는 1개의 프로세서에 2개의 core가 있다고 가정해보자, 어떤 구조가 더 좋을까? 후자가 더 좋다. 이유는 뭘까?? 이렇게 생각해보자, Dual Processor에서 하나의 core에서 프로세스가 돌아가다가 중간에 나왔다가 다시 구동될 때 다른 core로 들어가면 어떻게 될까?? 이때는 메모리로부터 새로 불러와야 된다. 하지만 하나의 프로세서에 2개의 core 중에 하나에서 구동하다가 다시 실행한다고 했을 때, 다른 core에 들어가도 서로 공유 cache를 사용하고 있기 때문에 메모리로부터 새로 불러 들어오지 않아도 된다. 훨씬 빠르다는 의미다. 이렇게 동작하는 프로세서를 CMT 혹은 .. 2022. 4. 14.
운영체제 Multiple-Processor Scheduling ( Load balancing, Affinity, 멀티 프로세서 스케쥴링 ) Multiple-Processor Scheduling - 여러 개의 코어가 있다면 ready queue에서 어떤 프로세서를 어떤 코어에 thread를 배정해야 하는 문제가 생긴다. 대부분 thread는 공통의 ready queue를 사용한다. 이렇게 되면 뭐가 문제냐면 동기화의 문제가 생긴다. 그래서 각각의 코어에 독립적인 queue를 배정하는 방법이 나온 것이다. 이런 걸 Multiple-Processor Scheduling라고 부른다. 하지만 메모리를 많이 잡아먹는다는 단점이 있다. Multiple-Processor Scheduling을 구현하려면 고려해야 할 사항이 Load balancing과 Affinity가 있다. 1. Load balancing 먼저 Load balancing이다. 쉽게 말해 .. 2022. 4. 13.
운영체제 Multilevel Feedback Queue ( 멀티레벨 피드백 큐 ) Multilevel Feedback Queue - Multilevel Feedback Queue가 나오게 된 배경에 대해서는 앞선 포스팅에 얘기했다. 잘 모르겠다면 읽어보는 걸 추천한다. 2022.04.13 - [내가 하는 전자공학/운영체제 (OS)] - 운영체제 Multilevel Queue ( 멀티 레벨 큐 ) 운영체제 Multilevel Queue ( 멀티 레벨 큐 ) Multi level Queue - 우선순위의 이슈가 생기니 좀 더 세분화하여 프로세스들을 관리할 방법을 생각하다 보니, Multi level Queue의 개념이 나왔다. 앞선 CPU Scheduling Algorithms에 대해 알고 있어야 우선순위.. wpaud16.tistory.com 바쁘신 분을 위해 간단히 설명하면, 우선순위.. 2022. 4. 13.
운영체제 Multilevel Queue ( 멀티 레벨 큐 ) Multi level Queue - 우선순위의 이슈가 생기니 좀 더 세분화하여 프로세스들을 관리할 방법을 생각하다 보니, Multi level Queue의 개념이 나왔다. 앞선 CPU Scheduling Algorithms에 대해 알고 있어야 우선순위 이슈가 왜 생겼는지 알 수 있다. 이에 앞선 글을 참고하는 걸 추천한다. 2022.04.13 - [내가 하는 전자공학/운영체제 (OS)] - 운영체제 CPU Scheduling Algorithms (FCFS, RR, SJF, Priority Scheduling, 실제 burst time, Convoy effect ) 운영체제 CPU Scheduling Algorithms (FCFS, RR, SJF, Priority Scheduling, 실제 burst ti.. 2022. 4. 13.