목록CPU (2)
데이터 엔지니어

데이터의 접근과정에서 문제를 먼저 살펴보도록 합니다. Process Synchronization = 프로세스 동기화 = Concurrency Control = 병행 제어 데이터의 접근 데이터를 가져와 연산하고 연산 후 결과를 데이터에 다시 저장 연산(실행) 데이터 저장 CPU Memory 컴퓨터 내부 디스크 프로세스 프로세스의 주소공간 Race Condition 하나의 storage를 여러 실행장치에서 접근함 이래서 동기화(Synchronizaition) 문제가 생김 언제 발생하는가? 1. Kenel 수행중 인터럽트가 발생하여 인터럽트 처리루틴이 수행됨 양쪽 다 커널 코드이므로 kenel address space 공유 결과적으로는 interrupt는 반영안되고 count++만 반영 기존 커널 코드 작업이..

CPU 스케줄링 CPU burst와 I/O burst를 하는 단계가 번갈아가면서 사용 CPU를 오랫동안 쓰는 job을 CPU bound job (점유) 계산 위주의 job I/O를 자주하는 job은 I/O bound job (빈도) I/O에 많은 시간이 필요한 job 여러 job이 섞여 있기 때문에 CPU 스케줄링(누구에게 얼만큼 시간을 주고 뺏을 것이냐)이 필요하다. CPU Scheduler & Dispatcher CPU Scheduler Ready상태 프로세스 중에서 CPU를 줄 프로세스를 고르는 역할 Dispatcher CPU의 제어권을 CPU Scheduler로 부터 선택된 프로세스에 넘긴다. 이 과정을 Context Switch라고 한다. 주의! 둘다 하드웨어가 아니라 운영체제 안에 있는 거다 ..