2024/02 3

[운영체제] 교착 상태(Deadlock)

식사하는 철학자 문제 1. 일정 시간 생각을 한다. 2. 왼쪽 포크가 사용 가능해질 때까지 대기한다. 만약 사용 가능하다면 집어든다. 3. 오른쪽 포크가 사용 가능해질 때까지 대기한다. 만약 사용 가능하다면 집어든다. 4. 양쪽의 포크를 잡으면 일정 시간만큼 식사를 한다. 5. 오른쪽 포크를 내려놓는다. 6. 왼쪽 포크를 내려놓는다. 7. 다시 1번으로 돌아간다. 만약 모든 철학자들이 동시에 자신의 왼쪽 포크를 잡는다면, 모든 철학자들이 자기 오른쪽의 포크가 사용 가능해질 때까지 기다려야 한다. 그런데 모든 철학자들이 그러고 있다. 이 상태에서는 모든 철학자가 영원히 3번 상태에 머물러있어 아무것도 진행할 수가 없게 되는데, 이것이 교착(Deadlock)상태이다. 철학자: 프로세스 / 스레드 포크: 자원..

CS/운영체제 2024.02.08

[컴퓨터구조] 메모리(RAM), 캐시 메모리

메모리 데이터를 저장하는 기억 장치 RAM 주기억장치 특징 RAM에는 실행할 프로그램의 명령어와 데이터가 저장 RAM은 휘발성 저장 장치이고, 보조 기억 장치는 비휘발성 저장 장치 보조기억장치에는 CPU가 실행하고 싶은 프로그램을 저장하고, 이를 RAM으로 복사해 저장 후 실행 데이터 읽는 속도가 보조기억장치에 비해 빠름 CPU와 주기억장치에 캐시 메모리가 존재 용량과 성능 RAM 용량이 크면 많은 데이터를 미리 보조기억장치에서 가져와 미리 RAM에 저장 가능 RAM 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는 데 유리 용량이 필요 이상으로 커졌을 때 속도가 그에 비례해 증가하지는 않음 종류 DRAM(Dynamic RAM) : 시간이 지나면 저장된 데이터가 사라지는 RAM. 주기적으로 데이터를 ..

CS/컴퓨터구조 2024.02.08

[컴퓨터구조] CPU의 구성 요소, 작동 원리

1. CPU란? CPU는 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 장치이다. CPU 내부에는 계산을 담당하는 ALU, 명령어를 읽어 들이고 해석하는 제어장치, 작은 임시 저장 장치인 레지스터라는 구성 요소가 있다. 2. CPU의 구성 요소 ALU 계산하는 부품 레지스터로부터 받아들인 피연산자와 제어장치로부터 받아들인 제어 신호로 연산을 수행 연산 결과와 플래그(추가적인 상태 정보)를 내보내 레지스터에 저장 제어장치 제어 신호를 내보내고, 명령어를 해석하는 부품 클럭 신호, 명령어 레지스터로부터 해석할 명령어, 플래그 레지스터 속 플래그 값, 제어 버스로 전달된 외부로부터 전달된 제어 신호를 받아들인다. CPU 내부에 제어 신호 내보냄(ALU, 레지스터에 전달) ALU에는 수행할 연산을 ..

CS/컴퓨터구조 2024.02.08