기록을 남기자

Concurrency 4

카테고리 설명
  • deadlock을 아예 발생시키지 않으면 좋지만, deadlock을 막을 수 없는 경우가 존재한다. ⇒ OS가 deadlock을 막아줘야 한다. Deadlock 정의 A set of processes is deadlocked when each process in the set is blocked awaiting an event that can only be triggered by another blocked process in the set. Deadlock 이 발생하기 위해서는 최소한 둘 이상의 프로세스가 필요하다. block 이 되어야 한다. (프로세스가 멈추지 않고 실행하고 있으면 deadlock이 아니다.) block 이 되었다고 해서 무조건 deadlock은 아니다. ↳ block 이 존재하면 ..

  • Multiple Processes 1. Multiprogramming 메모리를 잘라서 여러 프로그램들을 메모리에 집어 넣고, 이 프로그램들을 번갈아가면서 실행한다. → 이 경우, CPU의 개수는 상관이 없다 2. Multiprocessing CPU가 N개가 있을 때, 프로그램들이 동시에 실행되는 것 ⇒ CPU가 하나일 때는 Multi-Processing 이라고 말할 수 없다. Multi-Programming 을 포함한다. 3. Distributed Processing 각각 하나씩 CPU와 OS를 갖고 있는 컴퓨터들을 하나의 네트워크로 연결해서,원래 있던 OS위에 하나의 OS Layer (Distributed OS)를 덮어서,여러개의 CPU를 갖고 있는 것처럼 실행한다. ⇒ 프로세스들이 여러군데에서 동시에..

  • 🌟 Mutual Exclusion: Software Approach (3) 🌟 Mutual Exclusion이 지켜지는 것 중요 DeadLock이 걸릴 경우의 수 존재 → 둘 다 true이면 while문을 둘 다 돌게 된다. 🌟 Mutual Exclusion: Software Approach (4) 🌟 DeadLock과 LiveLock의 차이점 = while문을 빠져나올 가능성 내가 Critical Section에 들어가려면, while문 마지막에 본인 flag를 true로 바꾸고 while문에 있는 상대편 flag가 false인 것을 보고 Critical Section에 진입하기 때문에 Mutual Exclusion이 성립한다. LiveLock이 걸릴 가능성이 있다. → 한 줄 한 줄 번갈아가며 TIM..

  • Multiple Processes 최신 운영체제 설계의 핵심은 여러 프로세스 를 관리하는 것이다. 시스템이 프로그램을 1개만 실행한다면, OS가 복잡할 이유가 없다. ⇒ 시스템이 여러 프로그램을 동시에 실행하려고 하기에 문제가 발생하고 이를 해결하기 위해 OS가 복잡해지는 것이다. 여러가지 프로그램을 실행시킨다고 할 때 사용하는 용어가 세가지 존재한다. 1. Multiprogramming 메모리를 잘라서 여러 프로그램들을 메모리에 집어 넣고, 이 프로그램들을 번갈아가면서 실행한다. → 이 경우, CPU의 개수는 상관이 없다 . 메모리 안에 여러 프로그램이 들어가서 번갈아가며 실행되기만 하면 Multi-Programming 이라고 할 수 있다. 2. Multiprocessing CPU가 N개가 있을 때, ..