일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 황금 장미
- 일지 시작한 지 얼마나 됐다고
- 핀토스 프로젝트 3
- 글리치
- 핀토스 프로젝트 1
- 글루민
- 셋업
- botw
- 파란 장미
- 핀토스 프로젝트 2
- 마일섬
- 아직도 실험 중
- PINTOS
- 제발흰박
- 내일부터
- 노가다
- Project 1
- 가테
- 바빠지나?
- 자 이제 시작이야
- alarm clock
- 핀토스 프로젝트
- multi-oom
- 핀토스 프로젝트 4
- 끝
- Today
- Total
목록전체 글 (128)
거북이의 쉼터
보호되어 있는 글입니다.

이제 이것만 공부하면 시험 범위는 끝이다. 기말 때는 중간 것도 전부 포함한단다..... 기아아아아악 살려주세요 교수님... 1. Deadlock 도입부 분명 시험 보고 나서 계획되어 있었던 걸로 아는데 왜 지금 다루는지는 모르겠지만 일단 시작하자. 동기화는 안 하는 것도 재앙적인 결과를 초래하지만 잘못 다루는 것 또한 상당히 골치 아픈 문제를 초래한다. 만약 두 프로세스가 있을 때, 한 프로세스가 다른 프로세스가 잡고 있는 자원을 잡으려고 하고, 동시에 그 프로세스 또한 상대 프로세스가 들고 있는 자원을 잡으려고 하는 상황을 생각해보자. 이 때, 모든 프로세스는 서로의 자원을 잡으려고 무한정 대기하는 상태에 빠지게 된다. 이러한 상태를 교착 상태, 일명 deadlock 데드락이라고 한다. 참고로, de..

이제 그토록 강조해온 동기화를 다룰 것이다. 0. 동기화의 필요성과 critical section Concurrency에 있어 공유 상태는 유용하다. 쓰레드를 사용하면서 변수를 공유하는 것은 프로세스 간 통신보다 저렴하기 때문이다. 허나 잘못 사용하게 되면 끔찍한 문제를 일으킬 수 있다. 실행의 단위가 되는 쓰레드가 공유 변수를 사용하는 동안에 어느 때나 Context Switching을 일으킬 수 있기 때문에 이는 공유 상태의 일관되지 않은 결과를 초래하기도 한다. 예시를 들어보자. 다음과 같이 공유 자원 y에 접근하는 두 쓰레드 A, B가 있다고 하자. y의 초기값이 0이라 할 때, 쓰레드 A에서 최종적인 x의 값은 무엇이 되어야 할까? // thread A x = 1; x = y + 1; // th..

오늘은 드디어 스케줄링에 대해 정리하도록 한다. 0. mechanism과 policy 우선 스케줄러를 살펴보기 전에 mechanism과 policy에 관한 내용부터 살펴보자. mechanism은 작업을 "어떻게" 하는가에 관한 것이며, policy는 "무슨" 작업들이 일어나야 하는가에 관한 사항이다. 예를 들어 자동차를 목적지까지 운전한다고 하자. 자동차가 엑셀을 밟으면 움직이고, 브레이크를 밟으면 멈추도록 만드는 것은 mechanism의 영역이다. 그러나 차선을 맞춰서 어느 시점에 엑셀 또는 브레이크를 밟아서 어느 방향으로 자동차를 몰지는 policy의 영역이다. mechanism과 policy는 서로 구분하여 구현하는 것이 좋으며, 서로에게 영향을 주어서는 안 된다. 앞서서 든 예시로 설명하면, 자동..