프로세스: 운영체제로부터 자원을 할당받은 작업의 단위 스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위프로그램이란?프로그램이란 파일장치에 저장되어 있지만 메모리에는 저장되어 있지 않은 상태이다.즉, 프로그램이 실행되고 있지 않은 상태를 의미한다. 모든 프로그램은 실행되기 위해서는 메모리에 할당되어야 한다. 프로그램을 실행하게 되면 메모리에 공간을 할당받는다. 이 상태의 프로그램을 프로세스라고 한다.프로그램은 단순히 코드로 구성된 파일이며, 메모리에 공간을 할당받은 프로그램을 프로세스라고 한다.스레드 개념이 생긴 이유프로그램의 실행부터 끝까지 하나의 프로세스가 처리한다.그러나 점차 프로그램이 복잡해짐에 따라 프로세스 1개로 처리하는 것이란 실질적으로 불가능하게 되었다. 그렇다고 해서 다른 프로..
교창 상태를 알고 있다는 가정하에 설명합니다. 여기를 먼저 읽고 와주세요! 교착 상태를 해결하기 위해서 예방, 회피, 검출 후 회복 방법이 존재합니다. 예방 : 애초에 교착 상태가 발생하지 않도록 자원 분배회피 : 교착 상태가 발생하지 않도록 조절하다가, 발생 시에 자원 할당 중지검출 후 회복 : 교착 상태가 발생하면 회복 교착 상태 예방교착 상태가 발생하기 위해서는 아래 4가지 조건을 모두 만족해야 합니다.즉, 1가지라도 만족하지 않으면 교착상태가 발생하지 않습니다.상호 배제점유와 대기비선점원형 대기상호 배제상호 배제란 하나의 자원에 임계구역을 설정하여 하나의 프로세스만 접근할 수 있도록 하는 방법입니다. 상호 배제를 없앤다는 것은 하나의 자원에 대하여 여러 프로세스가 접근할 수 있음을 의미합니다. ..
식사하는 철학자 문제식사하는 철학자 문제는 교착 상태를 설명하기 위해서 사용되는 문제입니다. 5명의 철학자가 존재하고 왼쪽과 오른쪽에 포크가 존재합니다. 앞에 놓인 음식을 먹기 위해서는 양손에 포크를 가지고 있어야 합니다. 단, 조건이 존재합니다.왼쪽 포크를 사용할 수 있다면 집어든다.오른쪽 포크를 사용할 수 있다면 집어든다.왼쪽과 오른쪽 포크 모두 집었다면 앞에 놓인 음식을 먹을 수 있다.식사가 끝나면 오른쪽 포크를 내려놓는다.오른쪽 포크를 놓은 후 왼쪽 포크를 놓는다.단순히 모든 철학자가 양손에 포크를 들어 식사를 하면 될 것 같습니다. 그러나 모든 철학자가 포크를 사용하려고 하면 문제가 발생합니다. 모두가 왼쪽 포크를 집게 된다면 어느 누구도 오른쪽 포크를 집을 수 없게 됩니다. 각자 오른쪽 포..
명령어는 연산 코드(operation code)와 오퍼랜드(operand)로 이루어져 있습니다. 연산 코드 : 명령어가 수행할 연산오퍼랜드 : 연산이 수행될 데이터 또는 데이터가 저장된 위치 주소 지정 방식이란 연산이 수행될 데이터의 위치를 찾는 방법입니다. 주소 지정 방식에는 5가지 유형으로 나뉩니다.즉시 주소 지정 방식직접 주소 지정 방식간접 주소 지정 방식레지스터 주소 지정 방식레지스터 간접 주소 지정 방식 즉시 주소 지정 방식은 오퍼랜드 필드에 연산에 수행될 데이터를 직접 저장하는 방식입니다. 연산에 수행되는 데이터를 직접 저장하기 때문에 연산 속도가 빠르다는 장점이 있습니다. 그러나 데이터의 크기만큼 공간을 차지하고 있기 때문에, 데이터가 제한적으로 저장된다는 단점이 있습니다. 직접 주소 지정..