일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- typeScript
- execution context
- python algorithm
- 운영체제
- react 기초
- 알고리즘
- REACT
- 프로그래머스
- Python
- 파이썬 알고리즘 인터뷰
- 자료구조
- java
- Operating System
- Zerobase
- 자바
- 개발공부
- 컴퓨터공학
- algorithm
- OS
- Computer Science
- 자바스크립트
- codestates
- JavaScript
- 글또
- 비동기
- context switching
- 코드스테이츠
- useState
- 파이썬
- node.js
- Today
- Total
Back to the Basics
[Computer Science][CS50] 컴퓨터와 컴퓨팅 - TOPIC2 본문
Tipic 2 정리
Topic1은 기억장치의 종류와 특징에 대한 내용이다.
컴퓨터에 쓰이는 기억장치의 의미를 알아보고, 기억장치의 종류 및 각각의 크기와 속도를 비교해보자.
1. Intro
- bit, byte의 형태로 기억장치에 저장해야 컴퓨터가 연산이 가능하다. 기억장치는 종류마다 서로 다른 속도를 내고, 용량에 차이가 있어서 역할이 다르다.
- 기억장치, RAM, 캐시, 가상 기억장치에 대해 알아보자
2. CPU 캐시 , Hard Disk, RAM
- cpu는 한 번에 64bit 정도만 처리하면 되기 때문에 1MB 정도의 저장공간만 있다. 굉장히 적은 양의 데이터를 조작하고 계산하지만 이러한 비트들을 굉장히 빠른 속도로 처리할 수 있다.
- Hardisk는 매우 많은 양의 데이터를 저장할 수 있다. 1MB정도의 저장공간을 갖는 CPU나 2~16GB만을 갖는 RMA과 달리 512 GB, 1TB 단위의 용량을 갖는다. 하지만 읽고 쓰는데 많은 시간이 소요된다.
- 그래서, 이 중간에 있는 기억장치가 RAM이다. RAM은 하드디스크보다 데이터를 빠르게 읽고 쓰고 할 수 있다. RAM은 싱행중인 프로그램이나 열려있는 파일들이 더 빨리 접근될 수 있도록 메모리를 저장하는데 쓰인다.
Harddisk를 더 용량을 많이 사용하는 이유는?
그럼 ram의 용향을 크게 하면 되지 왜 느린 하드디스크의 용량을 크게 하는 것일까?
1) 일단 ram은 비싸다. 속도가 따른 기억장치는 각 용량 단위의 가격이 더더욱 비싸다. RAM의 1GB 가격이 하드디스크 1GB 가격보다 훨씬 비싸다.
2) 하드디스크는 동시에 프로그램을 실행하는 일이 없다.
3) 하드디스트는 비휘발성이라서 전원이 들어오지 않아도 메모리가 그대로 남아있는다. 반면, ram은 휘발성이라서 전원이 종료되면 데이터 또한 삭제된다.
RAM 용량이 적은 이유는??
아직 512GB 같이 용량이 큰 ram을 만들 수가 없다..!
3. L1, L2, L3 캐시
- L1, L2, L3 캐시는 Ram보다 빠르지만, 용량이 더 적다. 이 중 L1이 가장 작고 빠르며, 중앙처리장치가 비트를 빨리 박아 처리할 수 있도록 몇 킬로바이트의 데이터만 저장한다.
- 캐시는 데이터 교환을 위한 버퍼라고 할 수 있다.
- 캐시를 사용하는 이유는, CPU의 속도와 메모리의 읽기 쓰기 속도의 간극을 해결하기 위해 필요하다.
4. 가상 메모리
RAM의 용량이 크면 한 개가 아닌 2개 3개의 프로그램을 RAM어 적재할 수 있다.
1 개의 CPU로는 한 번에 한 가지 일만 처리할 수 있다. 우리는 여러 프로그램이 마치 동시에 실해되는 것처럼 보이지만, 엄청나게도 빠른 속도로 여러 프로그램을 하나씩 실행시키고 있는 것이다. 우리는 사람인지라 이 속도를 못 따라와서 마치 동시에 처리되는 것처럼 보는 것이다.
물론 2개, 4개의 cpu라면 한번에 2개, 4개씩 처리할 수도 있겠지만!
만약 ram이 매우 작아서 큰 프로그램을 돌려야 하는데 부족하다면, OS는 상 기억장치를 제공하는데 ram에 있는 후순위의 프로그램을 하드디스크의 다른 공간에 넣어놓는다. 가끔 큰 프로그램을 사용하다가, 다른 아이콘이 앞으로 오게 클릭했을 때 버벅거리는 상황이 있는데, 이는 큰 프로그램을 돌리기 위해 가상공간에 있던 다른 프로그램을 가져오는 과정에서 후순위에 있던 프로그램을 ram에 옮기고 계속 사용하던 큰 프로그램은 하드디스크에 넣어놔야 하기 때문이다.
그래서, 컴퓨터 성능을 올리기 위해 cpu 속도를 늘리는 것도 좋지만 RAM을 업그레이드하는 것도 좋은 방법이다.
'Computer Science' 카테고리의 다른 글
[Computer Science][Codestates] - HTTP/Network 기초 - 1 : Client -Server Architecture , HTTP, IP, Port (0) | 2021.10.24 |
---|---|
[Computer Science][제로베이스 ]-운영체제 - System call & kernel (0) | 2021.10.24 |
[Computer Science][CS50] 컴퓨터와 컴퓨팅 - TOPIC1 (0) | 2021.08.30 |
[Computer Science] 선언형 프로그래밍 VS 절차형 프로그래밍 (2) | 2021.08.05 |
[Computer Science] MapReduce Model 이란? (0) | 2021.08.05 |