일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Python
- DP
- git
- 동적 계획법
- 자바
- 그레이들
- 리트코드
- frontend
- 백준
- db
- Data Structure
- LeetCode
- Database
- VIM
- BFS
- react
- CS
- Redux
- Graph
- 안드로이드
- java
- Algorithm
- network
- Javascript
- vscode
- DFS
- 프로그래머스
- 다이나믹 프로그래밍
- 알고리즘
- TypeScript
- Today
- Total
목록Computer Science/Operating System (19)
늘 겸손하게
메모리 관리 운영체제의 대표적인 역할 중 하나가 메모리 관리 입니다. 운영체제는 컴퓨터 내의 한정된 메모리를 극한으로 활용하도록 관리하는 역할을 맡습니다. 가상 메모리 (Virtual Memory) 가상 메모리는 메모리 관리 기법의 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것을 말합니다. 이때 가상적으로 주어진 주소를 가상 주소(logical address)라고 하며, 실제 메모리상에 있는 주소를 실제 주소(physical address)라고 합니다. 가상 주소는 메모리관리장치(MMU)에 의해 실제 주소로 변환되며, 이 덕분에 사용자는 실제 주소를 의식할 필요 없이 프로그램을 구축할 수 있게 됩니다. 가상 메모리는 가상 주소와..
캐시 (cache) 속도가 빠른 장치와 느린 장치에서 속도 차이에 의한 병목 현상을 줄이기 위해 데이터를 미리 복사해 놓은 임시 저장소입니다. 캐시를 통해 데이터 접근 시간을 줄이고 재계산 시간을 절약할 수 있습니다. 실제로 메모리와 CPU 사이의 속도 차이가 너무 크기 때문에 그 중간에 레지스터 계층을 뒤서 속도 차이를 해결합니다. 이렇게 속도 차이를 해결하기 위해 계층과 계층 사이에 있는 계층을 캐싱 계층이라고 합니다. 예로, 캐시 메모리와 보조기억장치 사이에 있는 주기억장치를 보조기억장치의 캐싱 계층이라고 할 수 있습니다. 캐시히트 (cache hit) 캐시에서 원하는 데이터를 찾은 경우를 캐시히트라고 합니다. 캐시히트의 경우 필요한 데이터를 제어장치를 거쳐 가져오게 되는데 위치도 가깝고 CPU 내..

메모리 계층 메모리 계층은 레지스터, 캐시, 메모리, 저장장치로 구성됨 레지스터 (Register) : CPU 안에 있는 작은 메모리로 속도가 가장 빠르나 용량이 가장 적습니다. 캐시 : L1, L2, L3 캐시 주기억장치 : RAM을 가리킴. 보조기억장치 : HDD, SSD를 말하며 속도가 느리나 용량이 큽니다. 램은 하드디스크로부터 일정량의 데이터를 복사해서 임시 저장하고 이를 필요 시마다 CPU에 빠르게 전달하는 역할을 합니다. 메모리 계층을 만들고 관리하는 이유는 경제성 때문. 16GB 램은 8만원이지만 16GB SSD는 훨씬 더 저렴하게 구매 가능. 캐시 데이터를 미리 복사해 놓는 임시 저장소. 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리를 말합니다. 실제로 메..

메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 합니다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공합니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같습니다. 1. Code 2. Data 3. Heap 4. Stack 코드 ( Code ) 메모리의 코드 (code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부릅니다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 됩니다. 데이터 (data) 메모리의 데이터 (data) 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역입..