전체 글 6

[혼공컴운] 6주차 | 가상 메모리, 파일 시스템

이번 주차는▶ Chapter 14 가상 메모리▶ Chapter 15 파일 시스템에 대해 알아보자.먼저 Chapter 14 가상 메모리에 대해 알아보자. 우리는 지금까지 메모리에 프로세스들이 연속적으로 배치되는 상황을 가정했다. 하지만 메모리에 적재된 프로세스들 중에 현재 실행되지 않는 프로세스도 존재한다.  이렇게 사용하지 않는 프로세스들을 임시로 보조기억장치 일부 영역인 스왑 영역으로 쫓아내고, 그렇게 해서 생긴 메모리의빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식을 스와핑이라고 한다.   - 스왑 아웃 : 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것- 스왑 인 : 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것* 여기서 스왑 아웃되기 전의 물리 주소와는 다른 주소에 적..

카테고리 없음 2024.08.18

[혼공컴운] 5주차 | 프로세스 동기화, 교착 상태

이번 주차는▶ Chapter 12 프로세스 동기화▶ Chapter 13 교착 상태 이다.먼저 Chapter 12 프로세스 동기화를 살펴보자. 동시다발적으로 실행되는 프로세스들은 공동의 목적을 올바르게 수행하기 위해 협력해야 한다. 이러한 프로세스들은 실행 순서와 자원의 일관성을 보장해야하므로 동기화돼야 한다. 여기서 프로세스 동기화란, 프로세스들 사이의 수행 시기를 맞추는 것이다.수행 시기를 맞춘다는 것은 실행 순서 제어와 상호 배제를 의미한다.1. 실행 순서 제어: 프로세스를 올바른 순서대로 실행하기2. 상호 배제: 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기 * 실행의 흐름을 갖는 모든 것은 동기화의 대상이 된다. 상호 배제에 대해 좀 더 알아보자.상호 배제는 공유가 불가능한 자원..

카테고리 없음 2024.08.11

[혼공컴운] 4주차 | 운영체제 시작하기, 프로세스와 스레드, CPU 스케줄링

이번 주차는▶ Chapter 9 운영체제 시작하기▶ Chapter 10 프로세스와 스레드▶ Chapter 11 CPU 스케줄링 이다.먼저 Chapter 9 운영체제 시작하기에 대해 알아보자. 운영체제란,실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이다. >>> 여기서 필요한 자원이란 무엇을 의미할까.프로그램 실행에 마땅히 필요한 요소들을 시스템 자원(자원) 이라고 한다. CPU, 메모리, 보조기억장치, 입출력장치 등이 있다. 운영체제 또한 프로그램이기 때문에 메모리에 적재되어야 한다.하지만 특별한 프로그램이기에 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역에 따로 적재되어 실행된다. 그렇다면 우리는 메모리를 아래와 같이 구분지을 수 있다.커널 영역 (운영체..

카테고리 없음 2024.07.28

[혼공컴운] 3주차 | 메모리와 캐시 메모리, 보조기억장치, 입출력장치

이번 주차는▶Chapter 6 메모리와 캐시 메모리▶ Chapter 7 보조기억장치▶ Chapter 8 입출력장치 에 대해 알아보자.Chapter 6 메모리와 캐시 메모리 부터 정리해 볼 것 이다. 우리가 흔히 메모리라고 부르는 것은 저장 장치인 RAM이다. RAM은 휘발성 저장 장치로 실행할 대상을 저장한다.따라서 전원이 꺼져도 저장한 내용을 유지하는 장치가 따로 필요한데 이곳이 바로 보조기억장치 이다. 보조기억 장치는 비휘발성으로 보관할 대상을 저장한다. If, CPU가 실행하고 싶은 프로그램이 보조기억장치에 있으면, RAM으로 복사하여 저장한 뒤 실행한다.  그렇다면 RAM의 종류를 알아보자.DRAM저장된 데이터가 동적으로 변하는(사라지는) RAM, 데이터의 소멸을 막기 위해 일정 주기로 데이터를 ..

카테고리 없음 2024.07.21

[혼공컴운] 2주차 | CPU의 작동 원리, CPU 성능 향상 기법

이번 주차는▶Chapter 4 CPU의 작동 원리▶ Chapter 5 CPU 성능 향상 기법 에 대해 정리해볼 것이다.Chapter 4 CPU의 작동 원리에선 CPU의 구성 요소를 자세하게 학습할 수 있었다. 먼저 ALU와 제어장치에 대해 알아보자. 「 ALU 」 는 앞장에서 배웠듯이 CPU에서 계산을 처리하는 부품이며 산술논리연산장치이다.ALU가 받아들이는📥정보와 내보내는📤 정보가 있는데 받아들이는 정보에는연산을 수행하기 위해 레지스터로부터 피연산자를 받는다.제어장치로부터 수행할 연산을 알려주는 제어 신호를 받는다.내보내는 정보에는연산을 수행한 수행한 결과로 특정 숫자나 문자를 레지스터에 일시적으로 저장한다.연산 결과에 대한 추가적인 상태 정보(음수, 오버플로우 등)를 플래그라고 하는데 이를 내보낸..

카테고리 없음 2024.07.14

[혼공컴운] 1주차 | 컴퓨터 구조 시작하기, 데이터, 명령어

첫 장에선 이렇게 말한다.컴퓨터 구조를 알면 코드만 작성할 줄 아는 개발자를 넘어 다양한 문제를 스스로 해결할 줄 아는 개발자가 될 수 있다고. 이번 주차는▶Chapter 1 컴퓨터 구조 시작하기▶ Chapter 2 데이터▶ Chapter 3 명령어 에 대해 알아보았다.그럼 먼저 Chapter 1 컴퓨터 구조 시작하기에 대해서 정리해 볼 것이다. 컴퓨터의 핵심 4가지 장치는 ①중앙처리장치(CPU), ②주기억장치(=메모리), ③보조기억장치, ④입출력장치 이다.  ②주기억장치(=메모리)란,현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다.따라서 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다.메모리에 저장된 값에 빠르고 효율적으로 접근하기 위해서 "주소"라는 개념이 사용된다.  ①중앙처..

카테고리 없음 2024.07.07