23 강. 메모리
여러분의컴퓨터메모리는 HDD? SSD? http://impactitgroup.com/hdd-v-ssd-whats-the-difference-and-which-on e-is-right-for-you/
메모리 (memory) 어떻게찾을것인가? : 컴퓨팅의주요질문 찾는정보가존재하는 ( 저장된 ) 곳 : 메모리 정보를빠르게찾고, 필요한곳으로정보를이동시키는기능 메모리장벽 : 메모리제한이컴퓨터의실제처리시간에큰영향을미침 따라서프로세서의발전에맞춰메모리를개발하고, 로컬메모리와외부저장장치에서데이터를검색하기위한비용을절감하는방법을찾기위해노력함
메모리작동을위한기본적원칙 이름 (naming): 모든객체에이름부여 매핑 (mapping): 메모리위치에객체이름매핑 인증 (authentication): 해당객체의주인이요청한주체에접근을허용하는것
메모리시스템 메모리 : 저장장치. 데이터를저장하고나중에호출함 RAM: CPU를제어하는프로그램과데이터바이트를저장함. 하드디스크, 클라우드서버 : 파일저장
메모리속도와휘발성간의상관관계 빠른메모리장치는 CPU를따라잡을수있는유일한장치이기때문에 CPU에의해빠르게움직임 ( 필요할경우위로, 필요없는경우아래로 ). 따라서데이터가빠르게사라짐 예 ) RAM 느린메모리장치는데이터가지워질때까지보관할수있음 예 ) 하드디스크, CD, USB 메모리
우리주변의메모리 하드디스크 (Hard Disk Driver): 플래터 (platter) 라고하는자기디스크를물리적으로회전시키며데이터를읽거나저장하는원리로작동되는보조기억장치 자기디스크의회전이아무리빨라도반도체기반으로작동하는 CPU와 RAM을따라잡기어려움
우리주변의메모리 SSD (Solid State Driver): 반도체를이용하여데이터를저장하는보조기억장치. 물리적으로움직이는부품이없기때문에작동소음이적으며전력소모도적음 USB 메모리 : USB(Universal Serial Bus) 라는컴퓨터와주변기기사이에데이터를주고받는버스와플래시메모리 (flash memory) 라는반도체기반데이터저장장치를결합하여만든메모리
https://en.wikipedia.org/wiki/usb_flash_drive
메모리접근작동원리 : subject-object model 기반 주체 (subject): 저장된디지털객체 (object) 에접근을요청할수있는단위요소 객체 (object): 어떤것을표현하는비트의집합을보관하는것 예 ) 사용자가수행하는프로그램이객체임. 사용자 pjd가 372를처리하기시작하면, 메모리시스템은 372가메모리주소 433을접근하도록허용함. 이때, (pjd, 372) 가 433에대한접근권한을보유해야함
이름 (naming): 개별디지털객체의지정부호 (designator) Fixed-length binary string 주소 (Address): 선형주소공간에있는위치를지정한주소. 변수값등이있는위치명을말함. 길이는주로 32bits나 64bits임 주소쌍 (Address pairs): 메모리가여러개의선형주소공간으로나누어졌을때, 많은주소공간중하나를선택하여그내부의한위치를지정 (s, x)
이름 (naming): 개별디지털객체의지정부호 (designator) Fixed-length binary string Handles: 파일이나디렉토리등객체의유일한변하지않는식별자 (identifier). 모든객체에대해 handle 을부여함. 일반적으로주소보다길이가긴데그이유는전체인터넷에서유일해야되기때문. 주로 128bits. 일반적으로 OS 는 MAC(media access control) 주소와시간스탬프를합하여 handle 을생성함
이름 (naming): 개별디지털객체의지정부호 (designator) Symbolic sequence 사용자객체가상징적노드명을가진트리구조로정렬되어있음. OS는디렉토리의서열구조로트리를표현함. 이트리의루트에서특정객체까지의경로명은상징적노드명의시퀀스임 예 ) 인터넷호스트명, 파일경로, 웹 URL 등 gmu.edu/cs는호스트 gmu.edu에서 cs라는파일을의미함
이름 (naming): 개별디지털객체의지정부호 (designator) Query statement 형식논리언어를사용하여특정기록만선택하도록하는조건의집합을명시하는것. 이름이아니라내용이나특징으로검색하는방법. 예 ) 이름과연봉, 성비, 직급이표시된데이터베이스에서남성이면서연봉이 5천이상인사람 ( 연봉 >5,000& 성별 = 남 ) 을검색함
이름 (naming): 개별디지털객체의지정부호 (designator) Text string 특정문자열이포함되어있거나그것과유사한문서의집합을찾아서검색결과를보여줌 예 ) 구글검색
이름 (naming): 개별디지털객체의지정부호 (designator) 특징 : 위치독립적 (location independence) - 사용자가객체의위치를알지못해도객체에대한연산을수행할수있음
이름 (naming): 개별디지털객체의지정부호 (designator) Symbolic names 예 : gmu.edu/cs 호스트 gmu.edu 에있는파일 cs 를가리킴 DNS 가호스트명을 IP 주소로변경 해당 IP 주소의 OS 가 cs 를그파일의핸들로변경 웹페이지읽기요청에반응하여파일시스템이핸들을가상메모리에있는파일로연결 가상메모리가파일의주소를그파일을보관하고있는위치와연결
매핑 (mapping) 매핑 : 이름을장소 (location) 로변환시키는과정 기본원리 : 위치독립적 x 의실제위치가중요하지않음. 어디에있든찾을수있음 F(x) 는객체 x 의현재위치를의미함 함수 F 는표의형태로저장되어있음 만약, 프로그램이객체 x 를읽거나쓰라는요청을하면, OS 는 F(x) 의위치를읽거나씀 만약, x 의위치가변경된다면, 현재위치를업데이트함
인증 (authentication) 정보보호를위한방법 인증 : 매핑의한부분으로, OS가요청주체가요청한연산수행을위한허가 (permission) 를받았는지검토하는것. 이과정을호출접근제어 (called access control) 이라함
인증 (authentication) 일반적으로객체의소유자가누가이객체에어떤방법으로접근할수있는지선언함 주체 s는객체 x에대한함수 f를수행한다 = {s,f,x} Ann에포함된모든프로세스는파일 abc 를읽을수있다 = ((Ann,*),read,abc)
인증 (authentication) 허가표현방법 1: Access control list (ACL) 객체 x에대한 ACL은주체와함수 {s,f} 나타냄 Ann이 abc파일을읽기위해서는 ACL(abc) 에 {Ann, read} 가포함되어있어야함
인증 (authentication) 허가표현방법 2: Access code 주체에대한 capability list를생성하여, 어떤객체에어떤함수를수행할수있는지표현함 CL[Ann] 에 (read, abc) 가저장되어있어야 Ann은abc를읽을수있음
< 참고문헌 > Denning, P. & Martell, C. (2015). Great principl es of computing, MIT Press. 김영우 (2015). [IT 세상 ] 하드디스크를대체하는고속의보조기억장지 SSD(Solid State Driver), 네이버캐스트, http://navercast.naver.com/contents.nhn?rid= 122&contents_id=5081 김영우 (2010). [IT 세상 ] 작교편리한디지털시대의휴대용저장장치 USB 메모리, 네이버캐스트, h ttp://navercast.naver.com/contents.nhn?rid=1 22&contents_id=4420