목록혼공학습단 (16)
테키테크 TEKITECH
≫ '혼자 공부하는 컴퓨터구조+운영체제' 챕터별 공부한 내용 ≪ [컴퓨터구조] Ch01. 컴퓨터 구조 [컴퓨터구조] Ch02. 0과 1, 데이터를 표현하는 방법 [컴퓨터구조] Ch03. 프로그래밍 언어와 컴퓨터 명령어 [컴퓨터구조] Ch04. CPU의 작동 원리 [컴퓨터구조] Ch05. CPU 제대로 쓰기 [컴퓨터구조] Ch06. RAM과 캐시메모리, 그리고 주소공간 [컴퓨터구조] Ch07. [컴퓨터구조] Ch08. [운영체제] Ch09. 운영체제 이해하기 [운영체제] Ch10. 프로세스와 스레드, 멀티프로세스와 멀티스레드 [운영체제] Ch11. CPU 스케줄링 [운영체제] Ch12. 동기화 문제(생산자와 소비자 문제, 임계구역 문제)와 동기화 도구(뮤텍스 락, 세마포, 모니터) [운영체제] Ch13. ..
6주 차 미션! [미션 1] p. 400의 확인 문제 1번 풀고 인증하기 · ( 최초 적합 ) : 최초로 발견한 적재 가능한 빈 공간에 프로세스를 배치하는 방식 · ( 최악 적합 ) : 프로세스가 적재될 수 있는 가장 큰 공간에 프로세스를 배치하는 방식 · ( 최적 적합 ) : 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방식 [미션 2] Ch. 14(14-3) 프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조열이 '2414523423'일 때 FIFO, 최적 페이지, LRU 페이지 교체 알고리즘으로 이 페이지를 참조한다면 몇 번의 페이지 폴트가 발생하는지 풀어보기 FIFO 페이지 교체 알고리즘 - 4번 최적 페이지 교체 알고리즘 - 2번 LRU 페이지 교체 알고리즘 - 4번..
교착 상태에 대하여 교착 상태(데드락)란? ft.식사하는 철학자 문제 교착 상태 발생 조건 4가지 교착 상태 해결 방법 - 예방, 회피, 회복 1. 교착 상태(데드락)란? ft. 식사하는 철학자 문제 프로세스 실행 과정에서 발생하는 문제 중 교착 상태 또는 데드락(Dead Lock)이라고 불리는 문제가 있다. ◈ 식사하는 철학자 문제 식사하는 철학자 문제는 교착 상태를 설명하기 위한 고전적인 문제이다. 동그란 원탁에는 다섯 명의 철학자가 앉아있고, 모든 철학자의 앞에는 각각 음식 접시가 놓여있다. 그리고 식사를 하기 위한 포크는 철학자 사이에 하나씩 총 5개의 포크가 놓여있다. 만약 포크 두 개가 있어야 먹을 수 있는 식사이고, 철학자들은 아래와 같이 식사를 한다고 하자. ① 철학자들은 계속 생각을 하다..
프로세스의 동기화 동기화 '생산자와 소비자 문제'와 '임계 구역 문제' 핵심 동기화 도구: 뮤텍스 락, 세마포, 모니터 1. 동기화 서로 데이터를 주고받으며 동시다발적으로 실행되는 많은 프로세스는 동기화를 통해 일사불란하게 실행될 수 있다. 이때, 동기화 즉, 프로세스 동기화란 프로세스 사이의 수행 시간을 맞추는 것을 의미한다. [1] 실행 순서 제어를 위한 동기화 프로세스는 올바른 순서대로 실행돼야 한다. 이를테면 특정 조건이 충족되어야 실행 가능한 프로세스의 경우에 해당 조건을 실행시키는 프로세스가 먼저 실행되어야 한다. [2] 상호 배제를 위한 동기화 서로 다른 두 프로세스가 동시에 접근하면 안 되는 자원에 대해 한 번에 하나의 프로세스만 접근하도록 해야 한다. 2. '생산자와 소비자 문제'와 '임..
우리가 알아야 할 컴퓨터 구조 지식 두 가지 프로세스 프로세스 상태와 프로세스 계층 구조 스레드 멀티프로세스와 멀티스레드 1. 프로세스 지금까지 '실행 중인 프로그램'이라고 표현하던 것을 프로세스라고 부른다. 프로그램이 실행되기 전까지는 보조기억장치에 있는 데이터 덩어리로 있다가 메모리로 옮겨 적재하고 실행하는 순간부터는 프로세스가 된다. ◈ 포그라운드 프로세스(Foreground Process)와 백그라운드 프로세스(Background Process) 사용자가 볼 수 있는 공간에서 실행되는 프로세스를 포그라운드 프로세스라고 하고, 보이지 않는 공간에서 실행되는 프로세스를 백그라운드 프로세스라고 한다. 이러한 백그라운드 프로세스를 유닉스 체계의 운영체제에서는 데몬(Daemon), 윈도우 운영체제에서는 서..
5주 차 미션! [미션 1] p. 363의 확인 문제 1번 풀고 인증하기 ① 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다. (O) ② 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다. (O) ③ 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다. (O) ④ 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다. (X) → 대기(wait) 또는 가도 좋다는 신호(signal)에 따르게 되고, 대기 상태로 만들 수 있습니다. [미션 2] Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기 공유 자원 중에서 두 개 이상의 프로세스를 동시에 실행했을 때 문제가 발생하는 자원이 있는데, 이러한 자원에 접근하는 코드 ..
CPU를 이해하고 제대로 사용하기 빠른 CPU를 위한 설계 기법 명령어 병렬 처리 기법 ISA와 CISC, RISC 1. 빠른 CPU를 위한 설계 기법 CPU 성능을 높이는 방법에는 3가지가 있다. 클럭 속도를 높이는 방법 코어를 늘리는 방법 스레드 수를 늘리는 방법 [1] 클럭 속도를 높이는 방법 "컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직인다." "CPU는 '명령어 사이클'이라는 정해진 흐름에 맞춰 명령어를 실행한다." 즉, 클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복하고, 다른 부품들도 그에 발맞춰 더 빠르게 작동할 것이다. 실제로 클럭 속도가 높은 CPU는 일반적으로 성능이 좋기 때문에 클럭 속도를 CPU 속도 단위로 간주하기도 한다. 클럭 속도는 헤르츠(㎐)단위로 ..
컴퓨터의 네 가지 핵심 부품 중 CPU에 대하여. ALU와 제어장치, 그리고 레지스터 명령어 사이클 인터럽트 1. ALU와 제어장치, 그리고 레지스터 CPU 내부에 있는 구성 요소 3가지 계산을 담당하는 ALU 명령어를 읽어 들이고 해석하는 제어장치 작은 임시 저장 장치인 레지스터 [1] ALU ◈ 플래그 연산 결과에 대한 추가적인 상태 정보로, 플래그 레지스터에 저장됨 ALU가 내보내는 대표적인 플래그에는 부호 플래그, 제로 플래그, 캐리 플래그, 오버플로우 플래그, 인터럽트 플래그, 슈퍼바이저 플래그, 등이 있음 [2] 제어장치 제어장치: 제어 신호를 내보내고, 명령어를 해석하는 부품 제어 신호: 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호 [3] 레지스터 많은 CPU가 공통으로 포함하..