외부에서 인터럽트가 들어와야하는데,


이게 생각해보면, CPU 바깥의 참여자들이 굉장히 많다는걸 알 수 있음.



거기다가 운영체제라는게,



프로세스 A B C 가 운체 (O) 위에서 시작할때,



A B C 들을 위한 코어가 따로 있고 O를 위한 코어가 따로 있는게 아니잖아?


거기다가 뭐


A O B O C O 이런식으로 O로 전환되는것도 아니고, (단지 예외에 의해 커널 데이터에 접근할 뿐)



그러니까 결국 그 뭔가 "시스템"이라는 느낌이 들게 하는거는


운영체제라는 하나의 객체가 아니라



CPU 바깥쪽과 결합된


수많은 프로세서들에 의해서 이루어진다고 생각함.


그리고 그 프로세서들이


커널영역의 메모리를 건드릴거임.



아마 동기화문제 때문에, 각자가 write 하는 영역은 따로따로 분할되어있어서

세밀하게 다루어질거같음.


예를들면 타이머는 여러개인가??? 에서 no 라면 1 writer 컨디션이 만족되는거고,


클락단위로 그러면 read write 충돌이 일어나는경우는??


이 경우는 뭐 대충 클럭의 손실, 그러니까 인터럽트가 예정 클럭보다 조금 더 늦게 도착했다 뭐 이런정도로만 부작용이 생기지 않을까 하는 생각이 들음.


0 과 1이 변경되는 동안,



0000000000(1)1111 을

0000000000(0)1111 으로 읽는거랑


0000000000(1)(0)00000을

0000000000(0)(0)000000으로 읽는거는 문제가 되긴 하는거같음. 2틱이 발생했는데 그걸 0틱으로 읽을테니까... 음 어렵네