혼공컴운 18

운영체제의 큰 그림

운영체제의 큰 그림 운영체제의 심장, 커널 커널: 자원에 접근하고 조작하는 기능, 프로그램이 올바르고 안전하게 실행되게 하는 기능 사용자 인터페이스: 커널에 포함되지 않는 서비스, 사용자가 컴퓨터와 상호작용할 수 있는 통로 그래픽 유저 인터페이스: 그래픽을 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스 커맨드 라인 인터페이스: 명령어를 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스 이중 모드와 시스템 호출 응용 프로그램이 실행 과정에서 하드 디스크에 접근하여 데이터를 저장하려면 운영체제에 도움을 요청해야 하고, 운영체제는 커널 영역 내의 하드 디스크에 데이터를 저장하는 코드를 실행하여 응용 프로그램의 작업을 대신 수행함 이중 모드: CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구..

운영체제를 알아야 하는 이유

운영체제를 알아야 하는 이유 운영체제란 커널 영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 이들이 올바르게 실행되도록 도움 응용 프로그램과 하드웨어 사이에서 응용 프로그램에 필요한 자원을 할당하고, 응용 프로그램이 올바르게 실행되도록 관리하는 역할 응용 프로그램에 자원을 효율적으로 배분하고, 실행할 프로그램들이 지켜야 할 규칙을 만들어 컴퓨터 시스템 전체를 관리

다양한 입출력 방법

다양한 입출력 방법 프로그램 입출력 기본적으로 프로그램 속 명령어로 입출력장치를 제어하는 방법 CPU가 프로그램 속 명령어를 실행하는 과정에서 입출력 명령어를 만나면 CPU는 입출력장치에 연결된 장치 컨트롤러와 상호작용하며 입출력 작업을 수행함 1. '메모리에 저장된 정보를 하드 디스크에 백업한다' 말은 '하드 디스크에 새로운정보를 쓴다'는 말과 같음 CPU는 하드 디스크 컨트롤러의 제어 레지스터에 쓰기 명령을 보냄 2. 하드 디스크 컨트롤러는 하드 디스크 상태를 확인 하드 디스크가 준비된 상태라면 하드 디스크 컨트롤러는 상태 레지스터에 준비되었다고 표시함 3. ① CPU는 상태 레지스터를 주기적으로 읽어보며 하드 디스크의 준비 여부를 확인함 ② 하드 디스크가 준비됐음을 CPU가 알게 되면 백업할 메모리..

장치 컨트롤러와 장치 드라이버

장치 컨트롤러와 장치 드라이버 장치 컨트롤러 CPU, 메모리보다 다루기가 더까다로움 입출력장치에는 종류가 너무 많음 키보드, 모니터, USB 메모리, SSD, 마우스 등 많음 장치마다 속도, 데이터 전송 형식 등도 다양하기 때문에 입출력장치와 정보를 주고받는 방식을 규격화하기 어려움 입출력장치의 데이터 전송률은 낮음 전송률: 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표 CPU나 메모리와 전송률이 비슷하지 않기 때문에 통신이 어려움 모든 입출력장치는 각자의 장치 컨트롤러를 통해 컴퓨터 내부와 정보를 주고받고, 장치 컨트롤러는 하나의 이상의 입출력장치와 연결되어 있음 장치 컨트롤러의 역할 CPU와 입출력장치 간의 통신 중개 오류 검출 데이터 버퍼링 버퍼링: 전송률이 높은 장치와 낮은 장치 사이에 ..

RAID의 정의와 종류

RAID의 정의와 종류 RAID 하드 디스크와 SSD를 사용하느 기술로, 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술을 의미함 RAID 종류 RAID 0 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식 데이터를 저장할 때 각 하드 디스크는 아래와 같이 번갈아 가며 데이터를 저장함 스트라입: 줄무늬처럼 분산되어 저장된 데이터 스트라이핑: 분산하여 저장 장점: 저장된 데이터를 읽고 쓰는 속도가 빠름 단점: 저장된 정보가 안전하지 않음, 디스크 중 하나에 문제가 생긴다면 다른 모든 하드 디스크의 정보를 읽는 데 문제가 생길 수 있음 RAID 1 복사본을 만드는 방식, 거울처럼 완전한 복사본을 만드는 구성이기에 미러..

다양한 보조기억장치

다양한 보조기억장치 하드 디스크 (자기 디스크) 자기적인 방식으로 데이터를 저장하는보조기억장치 하드 디스크는 CD나 LP와 비슷하게 동작함, 동그란 원판에 데이터를 저장하고, 그것을 회전시켜 뾰족한 리더기로 데이터를 읽는 점에서 비슷함 플래터: 하드 디스크에서 실질적으로 데이터가 저장되는 곳, 자기 물질로 덮여 있어 수많은 N (0)극와 S (1)극을 저장함 스핀들: 플래터를 회전시키는 구성 요소 RPM: 스필들이 플래터를 돌리는 속도 (분당 회전수) 헤드: 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소, 바늘 같이 생긴 부품 디스크 암: 원하는 위치로 헤드를 이동시킴 디스크는 훨씬 더 많은 양의 데이터를 저장해야 하므로 일반적으로 여러 겹의 플래터로 이루어져 있고 플래터 양면을 모두 사용할 수 있음,..

캐시 메모리

캐시 메모리 저장 장치 계층 구조 컴퓨터가 사용하는 저장 장치들은 'CPU에 얼마나 가까운가'를 기준으로 계층적으로 나타낼 수 있음 위 계층으로 올라갈수록 CPU와 가깝고 용량은 작지만 빠른 저장 장치임. 아래 계층으로 내려갈수록 CPU와 멀고 용량은 크지만 느린 저장 장치임. 가격 또한 위 계층으로 올라갈수록 비싸고, 아래 계층으로 내려갈수록 저렴함 캐시 메모리 CPU와 메모리 사이에 위치하고, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반 저장 장치 캐시 메모리에 CPU가 필요로 하는 데이터가 있다면 필요한 데이터로의 접근 시간을 줄일 수 있음 캐시 메모리 종류 L1: 코어와 가장 가까운 캐시 메모리 L2: 그다음 가까운 캐시 메모리 L3: 그다음 가까운 캐시 메모리 참조 지역성 원리 캐시 ..

메모리의 주소 공간

메모리의 주소 공간 물리 주소와 논리 주소 물리 주소: 정보가 실제로 저장된 하드웨어상의 주소 논리 주소: 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소 현재 메모리에 메모장, 게임, 인터넷 브라우저 프로그램이 적재되어 있다고 가정해보면 메모리가 사용하는 주소는 하드웨어상의 실제 주소인 물리 주소이고, CPU와 실행 중인 프로그램이 사용하는 주소는 각각의 프로그램에 부여된 논리 주소임 CPU가 메모리와 상호작용하려면 논리 주소와 물리 주소간의 변환이 이루어져야 함 변환: 메모리 관리 장치 (MMU)에서 수행 MMU는 CPU가 발생시킨 논리 주소에 베이스 레지스터 값을 더하여 논리 주소를 물리 주소로 변환함 예를 들면 현재 베이스 레지스터에 15000이 저장되어 있고 CPU가 발생시킨 논리 ..

RAM의 특징과 종류

RAM의 특징과 종류 RAM의 특징 휘발성 저장 장치: 전원을 끄면 저장된 내용이 사라지는 저장 장치 비휘발성 저장 장치: 전원이 꺼져도 저장된 내용이 유지되는 저장 장치 RAM의 용량과 성능 RAM 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는 데 유리함, 하지만 프로그램 실행 속도는 비례하여 증가하지 않음 RAM의 종류 DRAM: Dynamic RAM 준말, 저장된 데이터가 동적으로 변하는 (사라지는) RAM을 의미, 소멸을 막기 위해 일정 주기로 데이터를 재활성화 (다시 저장)해야함 일반적으로 사용 소비 전력 ⬇️, 비용 ⬇️, 집적도 ⬆️, 대용량으로 설계하기 용이함 SRAM: Static RAM의 준말, 저장된 데이터가 변하지 않는 RAM 의미 시간이 지나도 사라지지 않음 (전원이 공급되..

CISC와 RISC

CISC와 RISC 명령어 집합 (명령어 집합 구조 (ISA)) CPU가 이해할 수 있는 명령어들의 모음 ISA가 다르다는 건 CPU가 이해할 수 있는 명령어가 다르다는 뜻 (어셈블리어도 달라짐) ISA는 CPU의 언어임과 동시에 CPU를 비롯한 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속으로 볼 수 있음 CISC (Complex Instruction Set Computer) 복잡한 명령어 집합을 활용하는 컴퓨터 (CPU) 대표적인 CISC 기반 ISA: x86, x86-64 가변 길이 명령어를 활용 장점: 메모리 공간을 절약 할 수 있음 단점: 명령어의 크기와 실행되기까지의 시간이 일정하지 않음, 파이프라인이 효율적으로 명령어를 처리할 수 없음 RISC (Reduced Instruction Se..