Pintos 1주차 Synchronization

Synchronization 쓰레드간 자원 분배 : 조심히 다뤄야 한다. A cooperating process는 시스템에서 다른 프로세스가 실행됨으로써 영향을 주거나 받을 수 있는 것을 의미한다. cooperating process는 직접적으로 논리적 주소(code, data 둘다)를 공유할수도, 파일이나 메세지를 통해서만 데이터를 공유하도록 허용될수도 있다. 공유 데이터로의 동시적(concurrent) 접근은 data 모순(inconsistency)를 야기할 수 있다. 논리적인 주소 공간을 공유하는 협동 프로세스들의 순차적 실행을 확보하여 데이터 동일성을 유지하는 메커니즘에 대해 논해보자. (Producer Consumer Problem에 이어짐.) Disabling Interrupts 가장 기초적인 방법 : CPU가 interrupts에게 반응하는 것을 일시적으로 막는 것 ...

2023년 4월 21일 · 15 분 · 배준수

Pintos 1주차 컴퓨터 시스템 용어 정리

컴퓨터 시스템에 관한 용어 정리 1. Interrupt, interrupt handler trap이라고도 일컬어지는 interrupt는 프로세서에게 최근에 실행된 코드를 중단을 요청해서 event가 때맞은 방식으로 처리될 수 있도록 하는 것이다. 만약 요청이 받아들여지면, 프로세서는 최근 활동을 중단시키고 state를 저장한 후 event를 처리하기 위해 interrupt handler(ISR, interrupt service routine라고도 함)라고 불리는 함수를 실행한다. 이 개입은 보통 일시적이며 비록 interrupt가 치명적인(fatal) error를 표시하는 방법이 있을지라도, interrupt handler가 일을 마친 후 소프트웨어가 평범한 활동을 재개하도록 해준다. interrupt는 시간과 관련된 감지능력이 필요한 전기적, 물리적 상태 변화를 나타내기 위해 보통 하드웨어 장치에서 사용된다. 또한 공통적으로 실시간 컴퓨팅(real-time computing)같은 컴퓨터 멀티태스킹 수행에 사용된다. 그러한 방식들로 interrupt를 사용하는 시스템은 interrupt-driven이라고 일컬어진다. ...

2023년 4월 21일 · 5 분 · 배준수