CS/CA, OS (8) 썸네일형 리스트형 메모리관리, 페이징(Paging) 개요컴퓨터가 메모리 관리하는 법에 대해서 간단하게 살펴보며, 현대에서 사용하는 페이징 기법에 대해서 공부해보자. 논리, 물리 주소 공간CPU가 생성하는 주소를 논리주소, 메모리가 취급하는 주소를 물리 주소라고 부른다.실행 시간 바인딩 기법에서는 논리, 물리 주소가 서로 다르다. 이 때 논리 주소를 가상 주소 라고 부른다. 실행 중에 가상주소->물리주소 변환이 필요한데 이러한 작업은 하드웨어인 MMU(Memory Management Unit)이 한다.https://ko.wikipedia.org/wiki/%EB%A9%94%EB%AA%A8%EB%A6%AC_%EA%B4%80%EB%A6%AC_%EC%9E%A5%EC%B9%98 메모리 관리 장치 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 모.. 컴퓨터의 CPU (3) - 캐시 메모리 https://basaeng.tistory.com/27 컴퓨터의 CPU (2) - 레지스터https://basaeng.tistory.com/7 컴퓨터의 CPU (1)메인 메모리를 알아봤으니 다음은 CPU이다.구매한 CPU는 가장 보급, 엔트리 급으로 많이 팔리는 라이젠 7500f이다. 개요CPU는 명령어 처리를 위해 메모리에 저basaeng.tistory.com레지스터에 이어 이번에는 CPU의 캐시 메모리에 대해서 알아보자. 개요캐시 메모리는 CPU에서 메인메모리의 데이터를 가져올 때 드는 비용을 줄이기 위해서 사용하는 하드웨어 캐시이다.RAM에 비해 CPU 코어에 더 가깝게 위치하며, 용량이 작고 빠르다. 보통 아래와 같이 메모리 계층을 표현한다. 상위 계층일 수록, 용량이 작고 속도가 빠르며 비싸다.. 컴퓨터의 시간측정 개요코드의 성능 측정을 위해 시작 끝 지점의 시간을 구해서 사용하거나, n초 후에 어떤 로직을 실행해야 하는 등 코드를 만들 때 시간을 측정해야 하는 경우가 있다. 이 때 시간을 어떻게 받아오는 지에 대해 생각해보자.시간을 구하는 법소프트웨어는 하드웨어 없이 단독으로 시간을 알 수 없다.CPU가 명령어를 실행하는 흐름만 있을 뿐 n초가 지났는지 알 수 있는 방법은 없다.따라서 소프트웨어는 하드웨어를 통해서 시간을 받아와야 한다. 하드웨어의 시간 계산PIT->HPET->LAPIC 순으로 발전하면서 https://en.wikipedia.org/wiki/Programmable_interval_timer Programmable interval timer - WikipediaFrom Wikipedia, the f.. 컴퓨터의 CPU (2) - 레지스터 https://basaeng.tistory.com/7 컴퓨터의 CPU (1)메인 메모리를 알아봤으니 다음은 CPU이다.구매한 CPU는 가장 보급, 엔트리 급으로 많이 팔리는 라이젠 7500f이다. 개요CPU는 명령어 처리를 위해 메모리에 저장된 명령어를 읽고(Fetch) 해석하고(Decobasaeng.tistory.com 이전에는 CPU의 코어에 대해 알아봤으니 이번에는 레지스터에 대해 알아보겠다. 개요레지스터는 CPU의 설계에 의존한다.CPU 제조 시에 몇 개를 만들고 어떻게 사용할지 고정된 자원인 것이다.내가 사용하는 라이젠 7500f의 경우 x86-64 아키텍처로 32비트 기반인 x86의 구조를 유지하며 64비트 기능을 추가한 것이다.x64는 기능이 많아 비교적 분석할만한 x86을 중점적으로 보겠다.. 컴퓨터의 프로세스 개요보통 실행되고 있는 프로그램을 프로세스라고 부른다.프로세스는 메모리 영역으로 스택, 데이터 영역, 힙 영역 + 코드 영역을 가진다. Process(Task)의 State new(created): 생성 중인 프로세스running: 실행 중인 프로세스waiting(blocked): io, event로 인해 대기 중인 프로세스ready: 자원 할당을 기다리는 프로세스terminated: 실행 종료된 프로세스 PCB (Process Control Block)PCB의 프로세스 정보를 통해서 OS가 프로세스를 관리한다.아래와 같은 정보들을 포함한다.PIDProcess StatePC(Process Counter)CPU Registers스케줄링 정보: Priority 등메모리 관리 정보: Page Table, S.. 컴퓨터의 CPU (1) 메인 메모리를 알아봤으니 다음은 CPU이다.구매한 CPU는 가장 보급, 엔트리 급으로 많이 팔리는 라이젠 7500f이다. 개요CPU는 명령어 처리를 위해 메모리에 저장된 명령어를 읽고(Fetch) 해석하고(Decode) 실행한다(Execute) + (Write-back)이를 명령어 사이클이라고 부른다. 이 명령어 사이클은 클럭 신호에 동기화되어 동작하며 라이젠 7500f는 CPU는 3.7Ghz의 클럭, 최대 5.0Ghz 클럭을 가진다. CPU에는 부품들이 많은데 ALU(연산장치), 제어 장치, 레지스터, 캐시 메모리 등이 있다.이 대부분의 부품들은 CPU 코어에 존재한다. 코어는 독립적으로 명령을 처리하며 대부분의 CPU는 여러 개의 코어를 포함해 병렬 처리를 한다.이를 통해 동시에 많은 작업을 처리할 .. 컴퓨터의 RAM 개요이번에 새로 컴퓨터를 구입하면서 각각 부품에 대해서도 흥미가 생겼다.각각 알아보며 컴퓨터 구조에 대해 더 이해해보자 먼저 RAM이다. (구입한 제품은 마이크론 DDR5-5600) 컴퓨터의 메인 메모리는 CPU가 직접 접근해 실행 중인 프로그램, 데이터를 저장하는 주요 메모리 공간이다.RAM, ROM, 가상 메모리 등이 포함될 수 있지만 현대 컴퓨터의 관점에서 일반적으로 메인 메모리는 DRAM 기반의 RAM이라고 본다. RAM의 특징RAM은 Random Access Memory의 줄임말이다. 랜덤이라고 해서 완전 처음에는 랜덤이랑 무슨상관이야 했는데 random은 임의의 라는 뜻도 있어 임의의 위치에 바로 접근할 수 있다는 의미로서 사용된 것이다. + 기본적으로 휘발성 메모리이기 때문에 전원이 꺼지면 .. 컴퓨터가 음수를 표현할 때 (보수) 대학 수업에서 분명히 들었고 그 당시에는 잘 기억이 났지만 지금은 잘 가물가물해서 다시 정리해보기개요 컴퓨터는 알다시피 수를 0과 1로만 표현할 수 있다. 따라서 음수를 표현할 때는 첫 번째 비트를 부호 표현을 위해 따로 배정한다.이때 해당 비트는 MSB(Most Significant Bit) 또는 Sign Bit이라고 불린다.(8bit의 경우 index 8-1번째 bit이다) (index는 0부터 시작하므로) MSB = 0: 양수 (Positive Number)MSB = 1: 음수 (Negative Number) 예를 들어, 8비트 시스템에서:00000101 → MSB = 0, 이는 +5를 의미.11111011 → MSB = 1, 이는 -5를 의미 (2의 보수 일 때)(보수 표현 방식에 따라 다름).. 이전 1 다음