컴퓨터(Computer Science)/운영체제(Operation System)

저장구조, 입출력 구조, 메모리 특징[운영체제]

게임이 더 좋아 2020. 4. 14. 00:17
반응형
728x170

먼저 살펴볼 것은

Storage structure 이다.

왜 배우냐면 우선 프로그램은 실행되기 전에 memory에 load가 되어야 한다.

그렇다면 memory에 불러오는 과정까지가 프로그램의 일부라는 것인데

배워야한다는 느낌이 온다. ㅎㅎ

 

 

우선 컴퓨터는 rewritable memory라고 불리는 main memory에 load를 하고 프로그램을 실행한다.

대표적으로 RAM, random access memory라고 부른다. semiconductor를 이용한 main memory는 DRAM이라고 부른다.

++ dynamic random access memory의 준말이다.

**보통 volatile이다. 휘발성으로 전원이 꺼지면 데이터를 잃는다.

 


 

++컴퓨터는 물론 다른 메모리형식도 사용한다.

 

우선 bootstrap program이라고 OS를 load하는 프로그램이 있다.

이를 RAM에다 저장해놓으면 컴퓨터 꺼지면 다시 킬 수가 없다. OS도 안켜지니까. 

그래서 Bootstrap program은 아래의 특징을 가지고 있다.

 

• Typically stored in ROM or EPROM, generally known as firmware

 

-ROM, read-only memory 

-EPROM erasable programmable read-only memory

**nonvolatile 비휘발성으로 전원이 꺼져도 날아가지 않는다.


• Initializes all aspects of system

관련 시스템 요소 초기화

 

• Loads operating system kernel and starts execution

운영체제 kernel load 후 대기

 


 

 

왜 지워지는 메모리를 쓰냐고? 물론 쓰는 이유가 있다.

여기서 살짝 말하자면 속도의 차이 때문에 쓴다.

 

모든 메모리는 바이트 배열로 이루어져있다. 바이트는 고유의 주소를 담고 있다. 

Interaction은 load,store instruction을 통해서 이뤄진다.

 

**load는 main memory에서 CPU의 register로 가져오는 작업


**store는 register에서 main memory로 가져가는 작업.

 

 


 

** 여기서 폰 노이만 구조를 알고 가면 좋다.

 

둘다 같은 폰 노이만 구조다. 다르게 그린 것 뿐

 

요약하자면 명령을 instruction register에 저장하고 decode하고 메모리로부터 피연산자를 가져와 레지스터에 저장하고 연산한 다음 결과를 다시 메모리로 보내 저장한다.

 

즉, 우리는 memory를 CPU에 불러와야 무엇인가 output을 낼 수 있다라는 것만 알고가자.

 

 


 

아까 말했듯이 다른 메모리도 쓴다고 했는데 무엇을 쓰는지 보자.

 

영어로는 이렇게 말한다.

 

Secondary storage – extension of main memory that provides large 
nonvolatile storage capacity

한글로는 보조저장장치라고 보는게 맞겠다.

 

 

가장 흔한 2가지 종류의 저장소가 있는데

 

hard-disk drive와 nonvolatile memory(NVM) device 이다.

 

 

그렇지만 우선 Secondary storage는 main memory보다 속도가 느리다.

 

그렇다. 얘도 trade-off 관계이다. 

 

용량과 속도는 같이 충족시키기 어렵다.

 

그래서 부분적으로 쓰는 것이다.

 

 

 

우선 register나 cache, main memory는 보통 semiconductor-memory라고 부른다.

반도체소자를 이용해서 만든 것이기 때문이다.

 

**캐시는 접근 속도를 줄이기 위해서 있는 것이다. >> 성능향상

 

 

비휘발성 메모리는 2가지 방식이 있다.

 

◦ Mechanical 기계적

A few examples of such storage systems are HDDs, optical
disks, holographic storage, and magnetic tape. If we need to emphasize
a particular type of mechanical storage device (for example, magnetic
tape), we will do so explicitly.


◦ Electrical 전기적

A few examples of such storage systems are flash memory,
FRAM, NRAM, and SSD. Electrical storage will be referred to as NVM. If
we need to emphasize a particular type of electrical storage device (for
example, SSD), we will do so explicitly.

 

 

가격은 기계적이 조금 더 싸다. 크기는 전기적이 더 작고 속도도 빠르다.

 

 


이번에는 입출력 구조를 보자

 

저장장치 또한 입출력장치 중 하나이다.

 

컴퓨터 시스템은 공통 버스에 의해 연결된 여러 개의 장치 제어기와 CPU들로 구성된다고 저번 글에서 배웠다.

 

다시, 장체 제어기가 특정 타입의 장치를 담당하는 것이다.

 

과정을 보자면??

 

I/O 작업이 시작하려면 device driver가 device controller에 load되어야 한다.

그렇게 되면 device controller가 어떠한 action을 취할지 정하고

그러한 데이터를 device에서 local buffer로 보낸다.

보내는 작업(transfer)가 끝나면 

device controller는 interrupt를 이용해서 device driver한테 "작업 다했다" 라고 알려준다.

그럼 device driver는 OS에 제어권을 주고, 그 작동이 읽기 였다면

데이터를 반환하거나 포인터를 데이터에 반환할 수 있다.

 

그렇지만 interrupt 구동 방식의 입출력은 대량의 데이터를 전송할 때는 높은 오버헤드(overhead)를 초래한다.

그래서 직접 메모리 접근(Direct Memory Access) 장치를 사용하게 되었다.

 

이용하는 이유

 

• Used for high-speed I/O devices able to transmit information at close  to memory speeds

빠른 속도

 

• Device controller transfers blocks of data from buffer storage directly to main memory 

without CPU intervention

CPU를 거치지 않고 버퍼로부터 메모리로 데이터 블록 전체를 전송한다

 

• Only one interrupt is generated per block, rather than the one interrupt per byte

한 바이트마다 interrupt가 발생하는 것이 아니라 블록 전송이 완료될 때 마다 생성된다.

 

 

 


 

 

저장 구조 읽기 자료

Caching
• Important principle, performed at many levels in a computer (in hardware, operating system, software)
• Information in use copied from slower to faster storage temporarily
• Faster storage (cache) checked first to determine if information is there
• If it is, information used directly from the cache (fast)
• If not, data copied to cache and used there
• Cache smaller than storage being cached
• Cache management important design problem
• Cache size and replacement policy

 

요약하자면 전송률, 접근 시간 차이를 줄여주는 메모리라고 볼 수 있다.

 

 

 

728x90
반응형
그리드형