From e4b10c2046373e03a1c7e835f90528e0c26dea82 Mon Sep 17 00:00:00 2001 From: seo <119647209+codenee@users.noreply.github.com> Date: Sat, 2 Mar 2024 18:23:04 +0900 Subject: [PATCH] =?UTF-8?q?[#39]=20=EC=BB=B4=ED=93=A8=ED=84=B0=20=EA=B5=AC?= =?UTF-8?q?=EC=84=B1=20=EC=9A=94=EC=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CS/Development/README.md | 119 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 3 deletions(-) diff --git a/CS/Development/README.md b/CS/Development/README.md index 091b4f1..4f316c1 100644 --- a/CS/Development/README.md +++ b/CS/Development/README.md @@ -3,8 +3,8 @@ - [REST API](#REST-API) - [MVC 패턴](#MVC-Pattern) - [쿠키와 세션](#Cookie-vs-Session) - - [캐시](#캐시(Cache)) - + - [캐시](#캐시) + - [컴퓨터 구성 요소](#컴퓨터-구성-요소) [Up](#part-1-1-Development) / [back](https://github.com/codenee/CS-Study) @@ -192,7 +192,7 @@ Hyper Text Transfer Protocol * 만료기간을 정할 수 있지만, 브라우저가 종료되면 만료기간에 상관없이 삭제된다. -## 캐시(Cache) +## 캐시 캐시는 웹페이지 요소를 저장하기 위한 임시 저장소이고,쿠키와 세션은 정보를 저장하기 위해 사용됩니다.
캐시는 웹페이지를 빠르게 랜더링할 수 있도록 도와주고, 쿠키와 세션은 사용자의 인증을 도와줍니다.
- 이미지, 비디오, 오디오, css, js파일 등 데이터나 값을 미리 복사해 놓는 리소스 파일들의 임시 저장소 @@ -213,6 +213,119 @@ Hyper Text Transfer Protocol
+## 컴퓨터 구성 요소 +CPU, RAM, HDD, SSD, Cache Memory, Register ,NIC
+>주기억 장치(메인메모리) : RAM
보조기억 장치 : HDD, SSD + +> HDD는 자기적 방식
SSD는 전기적 방식 + +### CPU +Central Processing Unit 중앙 처리 장치
+연산 작업!
+컴퓨터의 뇌, 컴퓨터의 다른 부품들과 신호를 주고 받으면서 시스템 전체를 제어하는 역할
+CPU는 원래 한번에 하나의 작업만 처리할 수 있다(여러 프로그램 중 1개만 처리하는 것이라는 말이 아님)
+CPU가 하나여도 프로그램을 여러 개를 다룰 수 있다.
+다만, 여러 프로그램에서 다수의 작업 요청이 들어오면 한 번에 처리하지 않고 하나씩 수행한다.
+CPU의 계산 속도가 워낙 빠르고 중요도에 따라 작업 순서를 정해서 처리하기 때문에 프로그램 여러 개를 실행해도 속도가 느리다는 것을 느낄 수 없다.
+(CPU가 많은 계산을 해야하는 그래픽 작업이나 3D고사양 게임을 하면서 동시에 다른 작업들을 하면 느려짐을 느낄 수 있다)
+ +#### 레지스터 +cpu안에서 연산을 처리하기 위하여 데이터를 저장하는 공간.
+메모리 계층의 최상위 위치.
+가장 빠른 속도로 접근 가능한 메모리.
+데이터와 명령어를 저장하는 역할.
+대부분의 현대 프로세서는 메인 메모리에서 레지스터로 데이터를 옮겨와 데이터를 처리한 후 그 내용을 다시 레지스터에서 메인메모리(RAM)로 저장하는 "로드-스토어"설계를 사용
+ +### 캐시 메모리 +CPU와 별도로 있는 공간이며, 메인 메모리와 CPU간의 속도 차이를 극복하기 위한 것.
+저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다.
+캐시 메모리는 CPU내에서 빠르게 일을 처리하려고 자체적으로 필요한 내용들을 기억하는 역할.
+캐시는 반응 속도가 빠른 SRAM(Static Random Access Memory) 로, 주소가 키로 주어지면 해당 공간에 즉시 접근할 수 있다.
+하드웨어 설계 상 DRAM은 SRAM보다 느리다.
+캐시는 블록으로 구성되어 있는데 각각의 블록은 데이터를 담고 있으며, 블록의 개수와 블록의 크기가 캐시의 크기를 결정한다.
+주소가 키로 주어졌을 때 그 공간에 즉시 접근할 수 있다는 것은 캐시가 하드웨어로 구현한 해시 테이블과 같다는 의미이다.
+캐시가 빠른 이유는 자주 사용되는 데이터만을 담아두기도 하지만, 해시 테이블의 시간 복잡도가 O(1)정도로 빠르기 때문이기도 하다.
+ +### RAM +Random Access Memory
+컴퓨터의 단기 기억 장치
+프로그램이 실행되려면 해당 프로그램이 복사되어 메모리에 적재되어야 한다(메모리에 적재된 프로그램을 프로세스라 한다.)
+Random Access 이름에 의미가 있다.
+RAM에 저장된 어느 데이터든 접근 시간이 동일하다.
+RAM은 DRAM과 SRAM이 있는데 주기억장치는 DRAM을 의미한다.
+RAM은 저장된 데이터를 순차적이 아닌 임의의 순서로 액세스할 수 있는 데이터 저장소이다.
+다른 유형의 메모리 디바이스(HDD 등)는 기계적 설계상의 제한으로 미리 정해진 순서로만 데이터를 액세스한다.
+ +- 휘발성 데이터의 특성을 가지는데 왜 사용할까?
+1초에 몇십억 번의 연산을 하는 CPU가 필요한 데이터를 찾기에는 하드디스크가 너무 느리기 때문이다.
+하드디스크에 저장된 자주 사용하는 데이터(프로그램) 등을 RAM으로 옮겨 사용한다.
+CPU가 데이터를 빠르게 처리하는 것을 도와주는 역할이다.
+ + +#### CPU와 RAM의 관계 +컴퓨터에서 프로그램을 실행하면 CPU에 필요한 데이터를 요청한다.
+RAM은 저장장치에서 요청받은 데이터를 불러오고 CPU는 RAM으로 부터 이를 받아 계산을 수행한다.
+그래서 컴퓨터가 느릴때는 CPU를 업그레이드하기 보단 RAM을 업그레이드하는 편이 나을 때가 있다.
+RAM을 업그레이드하면 CPU가 계산에 필요한 데이터를 얻는 속도가 빨라져서 컴퓨터의 전체적인 실행 속도가 빨라지기 때문이다.
+ + +### HDD +Hard Disk Drive
+하드디스크는 비휘발성, 순차 접근이 가능한 컴퓨터의 보조 기억장치이다.
+HDD는 정보를 저장하는 플래터와 정보를 찾는 헤드로 구성되어 있다.
+헤드가 플래터의 정보를 읽어 컴퓨터에 전달하거나 컴퓨터가 보내는 신호를 플래터에 저장하게 된다.
+플래터는 자성물질로 되어있어, 내부의 작은 자석이 정렬되어 있으면 1, 정렬되어 있지 않아 자기 신호를 받을 수 없는 경우 0으로 표현한다.
+그리고 헤드는 0과 1의 디지털 신호를 자기적인 방식으로 기록하거나 읽게된다.
+ +### SSD +Solid State Drive : 고체(반도체) 상태 저장소
+반도체의 트랜지스터의 전기적 성질, 전류를 흐르게 하거나 차단하는 '스위치'방식을 이용한다.
+전기 신호가 가해지면 SSD셀에서는 전자가 저장되고, 이를 기준으로 전류를 통제함으로써 디지털 신호를 표현한다.
+이 기술은 USB으로 상용화되었는데, 대용량 USB가 SSD이다.
+ + + +#### HDD의 한계와 SSD의 발전 +HDD는 디스크 조각 모음을 정기적으로 해줘야한다.
+정보가 여기저기 흩어져 있는 경우, 디스크를 돌리는 과정에서 시간이 불필요하게 낭비될 수 있다.
+조각난 정보들을 한곳에 모아 디스크의 한쪽으로 배열하면 헤드가 정보를 찾는데 걸리는 시간을 줄일 수 있다.
+SSD는 전기적인 신호를 이용해 데이터를 파악하기 때문에 디스크를 돌리거나 하는 등 번거로운 작업이 없다.
+그렇기에 정보를 읽고 쓰는 속도가 HDD보다 훨씬 빠르다.
+SSD의 경우 '조각 모음'을 할 필요가 없다.
+분산된 파일들을 읽으려면 직접 돌려야하는 HDD와 달리, 전체 파일을 한 번에 읽을 수 있기 때문이다.
+이러한 이유로, 컴퓨터 부팅 드라이브에는 SSD가 사용되고 가격이 저렴한 HDD는 보조 저장매체로 사용된다.
+ + +#### SSD와 낸드플래시 +낸드플래시는 SSD에 사용되는 부품이다.
+낸드플래시에 정보를 저장할 수 있는 단위를 '셀'이라고 한다.
+최대한 많은 용량을 저장하기 위해서는 단위 면적당 셀을 많이 포함해야 한다.
+문제는 셀을 너무 많이 직접시키면, 전기적인 간섭이 심해지고 부품의 수명이 떨어지게 된다.
+이러한 문제를 해결하고자 낸드플래시는 3차원으로 구현된다.
+평면 기판이 아니라 원기둥을 여러 개 세우는 방식이다.
+셀을 원기둥으로 설계.
+건물을 세우듯 층을 더 올릴 수 있으면 간섭을 피하는 동시에 셀 개수도 늘릴 수 있다.
+이러한 기술이 고도화되면서 SSD용량은 증가하고, 가격은 내려가게 되었다.
+ +### NIC +network interface controller
+네트워크 어댑터, 이더넷 어댑터, 이더넷 카드, ethernet controller, LAN Card 라고도 불린다.
+컴퓨터를 네트워크에 연결할 수 있게 해주는 하드웨어 구성 요소이다( 네트워크 안에서 컴퓨터간 신호를 주고받는 데 쓰임)
+- NIC의 기능 + - Serialization : 전기적 신호를 데이터 신호 형태로 또는 그 반대로 변환함 + - Mac Address : 받은 패킷의 도착지 주소가 자신의 MAC주소가 아니면 폐기하고, 맞으면 시스템 내부에서 처리함 + - Flow control : 데이터 유실 방지를 위하여 데이터를 받지 못할 때에는 상대방에게 통신 중지를 요청할 수 있음 + +> 자세한 설명 +>> https://code-space.tistory.com/392 + + +
+ +[Up](#part-1-1-Development) + +
+