컴퓨터 구조

컴퓨터 구조

RAID

RAID 란? RAID(Redundant Array of Independent Disk) 란 여러 개의 저장 장치 (예 > 하드디스크 드라이브 등)를 묶어 하나의 고용량/고성능 저장 장치 처럼 사용하는 기술이다. 하드디스크 (HDD) 는 자기 표면으로 구성되어 있어 아주 오랜 시간동안 혹사를 당하게 된다면 물리적인 손상(베드 섹터)이 발생할 가능성이 커진다. 이 경우 심하면 디스크 전체가 사용할 수 없게되는 흔히 '하드 디스크가 깨졌다'고 하는 상태가 되며 중요한 데이터를 손실할 수 있다. 그런데, 만약 서버의 하드디스크에 금융/군사 목적의 아주 중요한 데이터가 저장되어 있었는데 위와 같은 하드디스크의 문제가 발생했다고 생각해보자 백업이 미리 되어있다면 데이터의 유실을 막을 수 있지만, 그렇지 않다면 중..

컴퓨터 구조

OLTP 와 OLAP

1.OLTP(Online Transaction Processing) OLTP를 직역하면 온라인 트랜잭션 처리를 뜻한다. 복잡하게 말하면 복수의 사용자 PC에서 발생되는 트랜잭션(Transaction)을 DB서버가 처리하고, 그 결과를 요청한 사용자PC에 결과값을 되돌려주는 과정을 뜻한다. 쉽게 이야기하면 1개의 요청작업을 처리하는 과정을 OLTP라고 생각하면 된다. 예를 들면, 은행에 돈을 입금하는 과정을 생각해보면 약 3단계의 처리과정을 거쳐야 한다고 가정해보자. 1단계 : 돈과 카드를 은행원에게 전달. 2단계 : 은행원이 돈과 카드를 확인한 후 입금을 진행. 3단계 : 입금이 확인된 내역을 확인. 이 3단계는 중간에 그만두면 안되는 과정이며, 모든 단계가 완벽하게 끝나야 한다. 이 3단계를 1개의 요..

컴퓨터 구조

HDD 구조

하드 디스크(HDD)는 비휘발성, 순차 접근이 가능한 컴퓨터의 보조 기억장치이다. 하드디스크에 존재하는 플래터를 회전시켜, 자기 패턴으로 정보를 기록한다. 아래 사진을 보면 HDD 가 어떤식으로 구성되어 있는지 알 수 있다. HDD에는 플래터가 여러 개 있는데, 이 플래터는 각각 따로 회전하는 것이 아니라 모두 함께 같이 회전한다. 다음 그림에서 보듯이 플래터 중심을 중점으로 하는 동심원을 트랙이라고 한다. 그리고 여러 플래터 상의 같은 위치의 트랙(같은 트랙 넘버)을 실린더라고 한다. 이 플래터에 자기 정보를 읽고 쓰는 것을 헤드라고 하는데 플래터 양면에 정보를 기록할 수 있기 때문에 각각의 플래터마다 두 개의 헤드가 있다. 그리고 헤드는 액츄에이터 암의 끝에 달려 있다. (1) Power Connec..

컴퓨터 구조

문맥교환(context switching)

컴퓨터에서 동시에 처리할 수 있는 최대 작업 수는 CPU의 코어(core) 수와 같다. 만약 CPU의 코어 수보다 더 많은 스레드가 실행되면, 각 코어가 정해진 시간 동안 여러 작업을 번갈아가며 수행하게 된다. 이때 각 스레드가 서로 교체될 때 스레드 간의 문맥 교환(context switching)이라는 현상이 발생한다. 문맥 교환이란 현재까지의 작업 상태나 다음 작업에 필요한 각종 데이터를 저장하고 읽어오는 작업을 가리킨다. 이러한 문맥 교환에 걸리는 시간이 커지면 커질수록, 멀티 스레딩의 효율은 저하된다. 오히려 많은 양의 단순한 계산은 싱글 스레드로 동작하는 것이 더 효율적일 수 있다. 따라서 많은 수의 스레드를 실행하는 것이 언제나 좋은 성능을 보이는 것은 아니라는 점을 유의해야 한다. 윈도우 ..

컴퓨터 구조

싱글스레드와 멀티스레드 (Single Thread & Multi Thread)

싱글스레드와 멀티스레드(Single Thread & Multi Thread) 프로그램 내의 처리 실행 단위 혹은 CPU의 이용 단위를 나타내는 단어에 스레드(Thread)가 있다. 일련의 처리를 단일 스레드만으로 직렬 처리하는 프로그래밍 방법을 싱글 스레드 프로그래밍(Single Thread Programming)이라고 한다. 반면, 동일 어드레스 공간의 메모리를 공유하면서 병렬로 처리하는 방법을 멀티 스레드 프로그래밍(Multi Thread Programming)이라고 한다. 복수의 cpu를 탑재한 컴퓨터에서 각각의 방법을 채용한 프로그램을 실행하면, 일반적으로는 멀티스레드 쪽이 혜택을 받기 쉽다. 싱글 스레드의 작동 방식 싱글 스레드는 프로세스 내에서 하나의 메인스레드만으로 작업을 처리한다. 그러므로..

컴퓨터 구조

프로세스(Process) 와 쓰레드(Thread) 란?

프로세스(Process) 란? - 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) - 운영체제로부터 시스템 자원을 할당받는 작업의 단위 - 동적인 개념으로는 실행된 프로그램을 의미 - 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다 - 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. - 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근X - 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신 (IPC, inter-process communication) 을 사용해야 함. (Ex. 파이프, 파일, 소켓 등을 이용한 통신 방법 이용) 스레드(Threa..

ssh9308
'컴퓨터 구조' 카테고리의 글 목록