clock 2

[운영체제] 5-2. Race Condition

오늘은 앞전 글에서 다룬 개념 중, Race Condition에 대해서 정리해보겠습니다. Race Condition 어떤 공유 자원이 있다고 할 때, 해당 자원을 접근하는 두 개의 프로세스가 실행되는 순서에따라 공유 자원이 다른 상태를 가질 수도 있는 경우. 즉, 각 프로세스의 실행이 독립적이 아닌 종속적인 상황을 의미합니다. 아래에는 그러한 상황을 예시로 보여줍니다. 여러 Producer 프로세스가 존재하여, 공유된 자원(Buffer)에 접근하여 데이터를 집어 넣습니다. 그러면 여러 Consumer 프로세스가 그 데이터를 빼서 쓰는 형태의 예시를 들어보겠습니다. +) 여기서 공유된 자원은 Producer와 Consumer가 프로세스인지 쓰레드인지에 따라 나뉩니다. 프로세스라면 Shared memory겠..

CS/OS 2023.10.03

[컴퓨터구조] 5-4. Timing and Control

오늘은 컴퓨터 구조의 세가지 요소 중 마지막, Control Unit에 대해서 다뤄봅니다. Timing and Control 지금까지 설명한 모든 개념은 우리가 쓰는 일반적인 컴퓨터가 아닌 Mano가 설계한 16비트 컴퓨터입니다. Basic Computer라고 부르죠. 이 Basic Computer에서 모든 레지스터는 이를 작동할 수 있게 조절하는 timing이 존재합니다. 이러한 timing이 주어질 때마다, 레지스터는 우리가 설계한 대로 작동합니다. 이 timing은 master clock generator가 제공하는 clock pulse에 의해 control 되죠. 흔히 우리가 부르는 1GHz와 같은 단위가 timing에 사용됩니다. 1GHz는 1초에 10억번 clock됩니다. clock이란 clo..