목록그리고/스터디 (21)
테키테크 TEKITECH
5주 차 미션! [미션 1] p. 363의 확인 문제 1번 풀고 인증하기 ① 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다. (O) ② 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다. (O) ③ 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다. (O) ④ 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다. (X) → 대기(wait) 또는 가도 좋다는 신호(signal)에 따르게 되고, 대기 상태로 만들 수 있습니다. [미션 2] Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기 공유 자원 중에서 두 개 이상의 프로세스를 동시에 실행했을 때 문제가 발생하는 자원이 있는데, 이러한 자원에 접근하는 코드 ..
운영체제 이해하기 커널과 이중 모드 및 시스템 호출 운영체제의 핵심 서비스 1. 커널과 이중 모드 및 시스템 호출 운영체제의 핵심 서비스를 담당하는 부분을 커널이라고 한다. 따라서 운영체제가 설치된 모든 기기에는 커널이 있고, 어떤 커널을 사용하는지에 따라 프로그램이 하드웨어를 이용하는 양상 및 컴퓨터 전체의 성능에 차이가 생길 수 있다. 커널에 포함되지 않는 서비스에는 사용자 인터페이스 등이 있다. 운영체제는 하드웨어 자원 관리와 보호를 위해 오직 자신을 통해서만 자원에 접근하도록 한다. 이러한 문지기 역할은 CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 이중 모드로 구현된다. ◈ 사용자 모드 → 사용자 모드는 운영체제 서비스를 제공받을 수 없는 실행 모드 즉, 커널 영역의..
RAM의 용량과 성능 RAM의 종류 메모리의 물리주소와 논리주소 저장 장치 계층 구조 캐시 메모리와 참조 지역성 원리 1. RAM의 용량과 성능 전원을 끄면 저장된 내용이 사라지는 휘발성 저장 장치(Volatile Memory): RAM 등 전원이 꺼져도 저장된 내용이 유지되는 비휘발성 저장 장치(Non-Volatile Memory): 하드 디스크, SSD, CD-ROM, USB 등 보조기억장치는 전원을 꺼도 내용을 유지하지만, CPU가 보조기억장치에 직접 접근하지 못함. 그래서 일반적으로 보조기적장치(비휘발성 저장 장치)에는 보관할 대상을 저장하고, RAM(휘발성 저장 장치)에는 실행할 대상을 저장함. RAM 용량이 적다면 실행할 프로그램이 저장된 보조기억장치에서 정보를 자주 가져와야 해서 실행시간이 ..
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가 공통으로 포함하..
4주 차 미션! [미션 1] p. 304의 확인 문제 1번 풀고 인증하기 [미션 2] Ch.11(11-2) 준비 큐에 A, B, C, D 순으로 삽입되었다고 가정했을 때, 선입 선처리 스케줄링 알고리즘을 적용하면 어떤 프로세스 순서대로 CPU를 할당받는지 풀어보기 선입 선처리 스케줄링 알고리즘은 먼저 들어온 프로세스에 먼저 할당하는 방식으로, A-B-C-D 순으로 삽입되면 A-B-C-D 순으로 CPU를 할당받는다. 공부한 내용 Chapter 09 운영체제 시작하기 → [운영체제] Ch09. 운영체제 이해하기 Chapter 10 프로세스와 스레드 → [운영체제] Ch10. 프로세스와 스레드, 멀티프로세스와 멀티스레드 Chapter 11 CPU 스케줄링 → [운영체제] Ch11. CPU 스케줄링
고급 언어와 저급 언어 컴파일 언어와 인터프리터 언어 연산 코드와 오퍼랜드 명령어의 주소 지정 방식 1. 고급 언어와 저급 언어 고급 언어(High-Level Programming Language) : 사람이 이해하고 작성하기 쉽게 만들어진 언어 저급 언어(Low-Level Programming Language) : 컴퓨터가 직접 이해하고 실행할 수 있는 언어 "고급 언어로 작성된 소스 코드가 실행되려면 저급 언어, 즉 명령어로 변환되어야 한다." ◈ Low-Level Programming Language - 기계어와 어셈블리어 기계어 : 명령어 비트(0과 1)로 이루어진 언어 어셈블리어 : 기계어를 읽기 편한 형태로 번역한 언어 2. 컴파일 언어와 인터프리터 언어 컴파일 언어 : 컴파일 방식 즉, 컴파..
우리가 알아야 할 컴퓨터 구조 지식 두 가지 컴퓨터가 이해하는 정보의 단위 이진법, 십진법, 십육진법 컴퓨터의 네 가지 핵심 부품: CPU, 메모리, 보조기억장치, 입출력장치 1. 컴퓨터가 이해하는 정보의 단위 컴퓨터의 언어, 0과 1 컴퓨터가 이해하는 가장 작은 정보 단위는 0 또는 1을 나타내는 정보이며, 이를 비트(bit)라고 한다. ◈ 정보의 크기에 따라 표현 가능한 정보의 종류는 달라진다. → N비트 정보는 2N가지 정보를 표현할 수 있다. 1비트 : (0) or (1) 2비트 : (0, 0) or (0, 1) or (1, 0) or (1, 1) 3비트 : (0, 0, 0) or (0, 0, 1) or (0, 1, 0) or (0, 1, 1) or (1, 0, 0) or (1, 0, 1) or ..