0️⃣ 캐시메모리 이전에!메모리에 대해서 학습이 필요하다면 아래 링크에서 복습하고 오자!RAM과 메모리의 주소 개념에 대해서 잘 안 뒤 캐시메모리에 대해서 공부하면 더 좋다. [얼레벌레 공부하는 CS] RAM0️⃣ 메모리란? 메모리의 사전적 정의는 아래와 같다. 늘 사전적 정의는 이해하기 어렵지만 이렇게 간결한 설명 또한 없다.데이터나 명령을 비롯하여 컴퓨터 내부에서 계산 처리 한 결과kkevido.tistory.com 메모리의 논리주소와 물리주소0️⃣ 메모리의 주소란? 메모리에 저장된 정보의 위치는 주소로 나타낼 수 있다. 우리는 메모리를 공부하면서 주소에 접근한다는 이야기를 정말 많이 들었을 것이다. 메모리는 CPU가 직접적으kkevido.tistory.com 1️⃣ 캐시 메모리란? CPU는 연산하..
CS
0️⃣ 메모리의 영역에서,메모리에 대해서 먼저 기초학습이 필요하다면 아래 블로그 링크를 통해 복습하고 오자! [얼레벌레 공부하는 CS] RAM0️⃣ 메모리란? 메모리의 사전적 정의는 아래와 같다. 늘 사전적 정의는 이해하기 어렵지만 이렇게 간결한 설명 또한 없다.데이터나 명령을 비롯하여 컴퓨터 내부에서 계산 처리 한 결과kkevido.tistory.com 메모리에 저장되는 영역은 크게 코드 영역, 데이터 영역, 힙 영역, 스택 영역 총 4가지가 있다.코드 영역 : 실행할 프로그램의 소스코드가 저장되는 영역 (텍스트 영역이라고도 부름)데이터 영역 : 전역 변수, 정적 변수힙 영역 : 프로그래머가 직접 할당하고 해제할 수 있는 동적할당 영역스택 영역 : 프로그램이 자동으로 사용하는 임시 메모리 영역간단하게..
0️⃣ 메모리의 주소란? 메모리에 저장된 정보의 위치는 주소로 나타낼 수 있다. 우리는 메모리를 공부하면서 주소에 접근한다는 이야기를 정말 많이 들었을 것이다. 메모리는 CPU가 직접적으로 접근할 수 있는 저장 장치로 CPU는 바로 이 주소값을 통해 메모리에 접근할 수 잇는 것이다. 메모리에 주소값이 필요한 이유는 무엇일까? 메모리에 저장된 정보는 시시각각 변하기 때문이다. 새롭게 실행되는 프로세스는 메모리에 쌓이고 실행이 끝난 것은 메모리에서 삭제된다. 즉 메모리에 프로세스가 적재 될 때 마다 비어있는 주소공간에 쌓이게 되므로 그 주소값 또한 매번 바뀔 것이다. 이러한 상황에서 CPU가 다음으로 실행 해야할 프로그램이 메모리의 몇 번째 주소값에 저장되어있는지 실시간으로 알아내기가 어렵다. 이 문제점을..
0️⃣ 프로세스란?프로세스는 현재 실행중인 프로그램을 의미한다. 프로그램 그 자체는 보조기억장치에 보존되어있는 데이터지만 이 프로그램을 RAM에 적재하여 실행하는 순간 프로세스라고 부른다.예를 들어 메모장이라는 프로그램은 우리가 실행하지 않는 이상 그저 프로그램으로 존재할 뿐이다. 더블클릭하여 실행하는 그 순간 프로세스가 되는 것이다. 이렇게 사용자가 보는 앞에서 실행되는 프로세스는 포그라운드 프로세스 (Foreground Process), 사용자가 보지 못하는 뒤에서 실행되는 프로세스는 백그라운드 프로세스(Background Process) 라고 부른다.1️⃣ PCB운영체제는 번갈아가면서 실행되는 프로세스의 실행 순서를 관리하고 CPU 등과 같은 자원을 배분하는데, 이를 위해 PCB를 이용한다. PCB..
0️⃣ 운영체제란?운영체제는 OS라고 부르기도 하는데, 이는 Operating System의 약칭이다. 컴퓨터 시스템의 핵심 소프트웨어로 현존하는 프로그램 중에서 가장 규모가 큰 프로그램 중 하나다. 사용자와 하드웨어 간의 인터페이스를 제공하고, 시스템 리소스를 제어하여 효율적으로 관리할 뿐만 아니라 응용 프로그램이 올바르게 동작할 수 있도록 한다. 컴퓨터 하드웨어와 응용프로그램 사이에서 중재역할을 하는 것으로 실행할 프로그램에 필요한 자원을 할당하고 실행하여, 가장 핵심적인 소프트웨어로서의 역할을 수행한다. 좀 더 쉽게 설명하면 실행할 프로그램을 메모리에 적재하거나 삭제하며 지속적으로 메모리 자원을 관리하고 CPU나 기타 하드웨어에 접근하는 것이다.그리고 여기서 주목해야할 요점은 바로 운영체제 또한 프..
0️⃣ 메모리란? 메모리의 사전적 정의는 아래와 같다. 늘 사전적 정의는 이해하기 어렵지만 이렇게 간결한 설명 또한 없다.데이터나 명령을 비롯하여 컴퓨터 내부에서 계산 처리 한 결과를 기억하는 장치. 주기억 장치와 보조 기억 장치로 나눈다. 좀 더 쉽게 말하자면, "현재 실행되는 프로그램(이하 프로세스)의 명령어와 데이터를 저장하는 부품" 이라고 보면 된다. 즉, 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다. 이러한 메모리는 크게 두 가지 종류가 있는데 바로 ROM(Read Only Memory)과 RAM(Random Access Memory)이다. 일반적으로 우리가 부르는 메모리는 RAM이라고 이야기 하는 경우가 대다수긴 하지만 말이다. 본격적으로 RAM에 대해 알아보기 전에 ROM과 ..
0️⃣ 고급 언어와 저급 언어컴파일 언어와 인터프리터 언어에 대해 알기 전에 먼저 이해하고 넘어가야 할 부분이 있다.컴퓨터는 0과 1로 된 정보만을 읽고 이해할 수 있다.위 말처럼 컴퓨터는 0과 1로 되어있는데 어떻게 사람이 쓴 프로그래밍 언어를 읽고 해석할 수 있는 걸까?이를 알기 위해선 고급어와 저급어에 대한 개념을 이해해야 한다.고급 언어(High-Level Language) : 사람을 위한 프로그래밍 언어 ex) Java, JavaScript, C ...저급 언어(Low-Level Language) : 컴퓨터가 이해하고 실행할 수 있는 언어 ex) 기계어, 어셈블리어즉, 컴퓨터는 저급 언어만을 이해할 수 있고 저급 언어는 고급 언어에 비해 훨씬 실행 속도가 빠르지만 저급 언어는 인간은 이해할 수 ..
0️⃣ bit?2진법에 대해 이야기하기 전에 bit에 대해 먼저 알아야한다.컴퓨터는 0과 1로만 된 정보를 읽고 이해할 수 있다.bit는 컴퓨터가 이해할 수 있는 가장 작은 정보 단위이다. 또한, 컴퓨터가 이해할 수 있는 정보라는 것은 0과 1로 이루어져있다는 뜻이다. 일반적으로 bit는 전구 또는 전기 스위치에 빗대어 많이 표현한다. off (0) 또는 on (1), 총 두 가지 정보를 표현할 수 있고 전구 하나를 1bit라고 말한다. 아래 그림처럼 전구 2개가 있는 경우엔 2bit라고 이야기 한다.n개의 전구 즉 n비트는 2ⁿ가지 정보를 표현할 수 있다. 1️⃣ 2진법우리가 일상적으로 숫자를 세는 1, 2, 3, ... 10, 11 ... 과 같은 방법은 10진법이다. 10진법은 0부터 9까지 숫자를..
0️⃣ 자료구조란?자료구조란, 컴퓨터가 데이터를 효과적으로 다룰 수 있게 도와주는 데이터 보관방법이자 데이터에 관한 연산의 총체를 일컫는다.이런 자료구조는 크게 두 가지로 나눌 수 있는데 단순자료구조와 복합자료구조로 나눌 수 있다. 단순자료구조 (Primitive)프로그램에서 기본적으로 지원하는 자료형으로, 언어별로 상이하다.ex) String, int, double, boolean...복합자료구조 (Non-primitive)단순자료구조를 기반으로 만들어낸 자료구조로 선형, 비선형으로 나뉜다.선형(linear) : 데이터 요소를 순차적으로 연결하고, 데이터 간의 관계는 1:1 구조를 가진다.ex) Array, Stack, Queue비선형(non-linear) : 데이터 요소를 비순차적으로 연결하여 보다..