[07] 교착 상태 - Dead Lock
·
컴퓨터 구조와 운영 체제
식사하는 철학자 문제교착 상태를 설명하기 위한 아주 고전적인 예시 상황철학자들은 아래와 같은 순서로 식사1. 생각하다가 왼쪽 포크가 사용 가능 하면 집어든다 2. 생각하다가 오른쪽 포크가 사용 가능하면 집어든다3. 왼쪽, 오른쪽 포크를 모두 들었다면 정해진 시간동안 식사4. 식사 시간이 끝나면, 오른쪽 포크를 내려놓고5. 왼쪽 포크도 내려 놓는다.6. 1번부터 반복이 때, 모든 철학자가 동시에 왼쪽 포크를 집어 든다면, 5명의 철학자는 절대로 식사를 할 수 없는 상태가 됨이렇게, 일어나지 않을 사건을 기다리며 진행이 멈춰버리는 것을 교착상태라고 함철학자를 프로세스(or 스레드), 포크가 자원, 생각하는 과정이 자원을 기다리는 행위라고 보면 됨자원 할당 그래프 (Resource - allocation gr..
[02] 이벤트 속성 이해하기
·
React
모든 HTML요소는 onmouseenter나 onmouseover처럼 'on'으로 시작하는 속성을 제공이를 이벤트 속성이라고 한다.이벤트 속성을 만들 파일 작성하기1. src 디렉터리 안에, copy 디렉터리를 만들고 CopyMe.tsx파일을 만들기  2. 복사용 기본 코드 작성export default function CopyMe(){ return CopyMe} 3.  src 디렉터리에 page 디렉터리 생성 후 파일을 복사, 각 이벤트를 넣기 4. src/App 파일에 해당 코드 작성하기 (방금 작성한 11개의 컴포넌트 사용)import DispatchEvent from './pages/DispatchEvent';import DragDrop from './pag..
[06] 동기화
·
컴퓨터 구조와 운영 체제
동기화 협력하여 실행되는 프로세스들은 실행 순서 및 자원의 일관성을 보장해야함 동기화 필요 동기화의 의미 프로세스는 동시다발적으로 실행되며 서로 데이터를 주고받으면서 협력하여 실행 사전적인 의미 정보 통신 분야에서 동기화란, 작업들 사이의 수행 시기를 맞추는 것 프로세스 동기화 프로세스들 사이의 수행시기를 맞추는 것 다음의 두 종류가 있음 실행 순서 제어 : 프로세스를 올바른 순서대로 실행하기 상호 배제 : 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기 프로세스 뿐 아니라 스레드도 동기화 대상 실행의 흐름을 갖는 모든 것이 동기화 대상임 실행 순서 제어를 위한 동기화 예를 들어, Writer 프로세스와 Reader 프로세스가 있다고 하면, Reader 프로세스는 Writer 프로세스가 ..
[05] CPU 스케줄링
·
컴퓨터 구조와 운영 체제
CPU 스케줄링 개요 CPU 스케줄링이란? 운영체제가 프로세스들에게 합리적으로 CPU 자원을 배분하는 것 컴퓨터 성능과 직결되는 문제 프로세스 우선순위 만약, 모든 프로세스를 동일하게 순차적으로 실행시킨다면 언뜻 보면 합리적인 것 같지만 급하게 수행되어야 하는 프로세스가 있는 경우, 효율적이지 못하게 됨 이를 우선순위가 다르다고 함 우선 순위가 높을 수록, 빠르게 처리해야하는 프로세스임 대부분의 프로세스들은 CPU와 입출력장치를 모두 사용하며 실행 실행과 대기를 반복... 예시로, 워드 프로세서가 있는데 CPU를 사용하여 명령어를 실행 사용자로 입력받은 내용을 보조기억장치에 저장 CPU를 사용하여 명령어를 실행 사용자가 입력한 내용을 화면에 출력 입출력 집중 프로세스와 CPU 집중 프로세스 프로세스는 종..