분류 전체보기 (131) 썸네일형 리스트형 cote 보호되어 있는 글입니다. 운영체제 - 운영체제란 모든 프로그램은 하드웨어를 필요로 합니다. 계산하는 프로그램은 CPU를 필요로 하고, 이미지를 하드 디스크에 저장하는 프로그램은 하드 디스크를 필요로 합니다. 이때 프로그램 실행에 필요한 요소들을 시스템 자원이라고 합니다. CPU, 메모리, 보조기억장치, 입출력장치 등 모두 시스템 자원이라고 볼 수 있습니다. 운영체제(OS; Operating System) : 시스템 자원과 프로세스 및 저장 장치 관리, 디바이스 드라이버 역할 등을 수행하는 특별한 프로그램이 운영체제(operating system)입니다. 운영체제 또한 프로그램이기 때문에 메모리에 적재되어야 합니다. 다만, 운영체제는 다른 프로그램들과는 다르게 컴퓨터가 부팅될 때 메모리 내 커널 영역(kernel space)에 적재됩니다. 커널 영역을 .. 컴퓨터 구조 - 다양한 입출력 방법 프로그램 입출력(programmed I/O) : 프로그램 속 명령어로 입출력장치를 제어하는 방법입니다. CPU가 프로그램 속 명령어를 실행하는 과정에서 입출력 명령어를 만나면 CPU는 입출력장치에 연결된 장치 컨트롤러와 상호작용하며 입출력 작업을 수행합니다. 여기서 중요한 점은 CPU가 상태 레지스터를 주기적으로 확인한다는 것입니다. 이를 폴링(polling)이라고 하는데, 인터럽트 방식보다 CPU의 부담이 더 큰 방식입니다. 그런데, CPU 내부에 있는 레지스터들과는 달리 CPU는 여러 장치 컨트롤러 속 레지스터들을 모두 알고 있기란 어렵습니다. 그렇다면 다음과 같은 명령어들은 어떻게 명령어로 표현되고, 메모리에 어떻게 저장되어 있을까요? 프린터 컨트롤러의 상태 레지스터를 읽어라 프린터 컨트롤러의 데이.. 컴퓨터 구조 - 장치 컨트롤러와 장치 드라이버 장치 컨트롤러(device controller) : 입출력장치가 종류가 많아져 정보 규격화가 어려운 문제를 해결하기 위해 일종의 번역가 역할을 해주는 장치입니다. CPU와 입출력장치 간의 통신 중개 : 입출력장치의 종류는 매우 다양합니다. 종류 뿐만 아니라 장치마다 속도, 데이터 전송 형식 등도 다양합니다. 오류 검출 : 장치 컨트롤러에 연결된 장치에 문제가 발생했는지 확인합니다. 데이터 버퍼링 : 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력 장치의 데이터 전송률은 낮습니다. 여기서 전송률(transfer rate)이란 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표입니다. 이와 같이 데이터 전송률이 차이가 나는 장치 사이에서 주고받는 데이터를 버퍼(buffer)라는 임시 저장 공간.. 컴퓨터 구조 - RAID의 정의와 종류 RAID(Redundant Array of Independent Disks) : 주로 하드 디스크와 SSD를 사용하는 기술로, 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술입니다. RAID의 종류 RAID 0 : 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식입니다. 줄무늬처럼 분산되어 저장된 데이터를 스트라입(stripe)이라 하고, 분산하여 저장하는 것을 스트라이핑(striping)이라고 합니다. 이처럼 데이터를 분산하여 저장하면 저장된 데이터를 읽고 쓰는 속도가 빨라집니다. 하나의 대용량 저장 장치를 이용했더라면 여러 번에 걸쳐 읽고 썼을 데이터를 동시에 읽고 쓸 수 있기 때문입니다. 그러나 RAID 0에.. 컴퓨터 구조 - 다양한 보조기억장치 하드 디스크(HDD; Hard Disk Drive) : 자기적인 방식으로 데이터를 저장하는 보조기억장치입니다. 플래터 : 실질적인 데이터가 저장되는 곳입니다. 수많은 N극(0)과 S극(1)을 저장하여 데이터를 저장합니다. 스핀들 : 플래터를 회전시키는 구성 요소입니다. 플래터를 돌리는 속도는 분당 회전수로 RPM 단위를 사용합니다. 헤드 : 플래터 위에서 미세하게 떠 있는 채로 데이터를 읽고 쓰는 부품입니다. 디스크 암 : 헤드를 원하는 위치로 이동시키는 장치입니다. 헤드는 이 장치에 부착되어 있습니다. 플래터는 트랙과 섹터라는 단위로 데이터를 저장합니다. 플래터를 여러 동심원으로 나누었을 때, 하나의 동심원을 트랙이라고 하며 이 트랙은 피자처럼 여러 조각으로 나누어집니다. 이때 한 조각을 섹터라고 부릅.. 컴퓨터 구조 - 캐시 메모리 캐시 메모리 CPU는 프로그램을 실행하는 과정에서 메모리에 저장된 데이터를 자주 참조합니다. 하지만 CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 느립니다. 이러한 차이를 극복하기 위한 저장 장치를 캐시 메모리라고 합니다. 저장 장치 계층 구조(Memory hierachy) CPU와 가까운 저장 장치는 빠르고, 멀리 있는 장치는 느리다. 속도가 빠를 수록 용량이 작고, 가격이 비싸다. 저장 장치는 일반적으로 위와 같은 명제를 따릅니다. 예를 들어 CPU와 가까운 레지스터는 일반적으로 RAM보다 용량이 작지만, 접근 시간이 압도적으로 빠르고 가격이 비쌉니다. 그리고 USB 메모리보다 RAM이 CPU보다 더 가깝기 때문에 접근 시간이 더 빠르지만, 가격이 비교적 더 비쌉니다. 이처럼 컴퓨터가 사용하.. 컴퓨터 구조 - 메모리의 주소 공간 메모리의 주소에는 메모리 하드웨어가 사용하는 물리 주소와 CPU와 프로세스가 사용하는 논리 주소가 있습니다. 물리 주소와 논리 주소 CPU와 프로세스는 현재 메모리 몇 번지에 무엇이 저장되어 있는지 알 수 없습니다. 메모리에는 새롭게 실행되는 프로그램이 적재되고, 실행이 끝난 프로그램은 삭제됩니다. 또한 같은 프로그램일지라도 메모리에 적재될 때마다 새로운 주소에 할당됩니다. 때문에 CPU와 프로세스가 이해하는 주소와 메모리가 이해하는 주소는 다릅니다. 물리 주소 : 정보가 실제로 저장된 하드웨어상의 주소를 의미합니다. 논리 주소 : 프로세스 각각에게 부여된 0번지부터 시작되는 주소를 의미합니다. 예를 들어 현재 메모리에 메모장, 게임, 인터넷 브라우저 프로그램이 적재되어 있습니다. 이들은 서로 메모리 몇.. 이전 1 2 3 4 ··· 17 다음