책/혼자 공부하는 컴퓨터구조+운영체제 14

혼자 공부하는 컴퓨터 구조+운영체제 9장 정리

운영체제의 심장, 커널운영체제의 핵심 서비스를 담당하는 부분을 커널이라고 하낟.사용자 인터페이스는 커널에 포함되지 않는다.그래픽 유저 인터페이스(GUI)커맨드 라인 인터페이스(CLI)이중 모드와 시스템 호출운영체제는 사용자가 실행하는 응용 프로그램이 하드웨어 자원에 직접 접근하는 것을 방지하여 자원을 보호한다.이중 모드란 CPU가 명령어를 실행하는 모드를 크게 사용자 모드, 커널 모드로 구분하는 방식이다.사용자 모드운영체제 서비스를 제공받을 수 없는 실행 모드이다.커널 영역의 코드를 실행할 수 없는 모드이다.일반적인 응용 프로그램은 자원에 접근할 수 없다.커널 모드운영체제 서비스를 제공받을 수 있는 실행 모드이다.커널 영역의 코드를 실행할 수 있는 모드이다.시스템 콜사용자 모드로 실행되는 프로그램이 자원..

혼자 공부하는 컴퓨터 구조+운영체제 8장 정리

장치 컨트롤러입출력장치는 장치 컨트롤러를 통해 컴퓨터 내부와 정보를 주고 받는다.장치 컨트롤러는 대표적으로 다음과 같은 활동을 한다.CPU와 입출력장치 간의 통신 중개오류 검출데이터 버퍼링데이터 버퍼링버퍼링이란 전송률이 높은 장치와 낮은 장치 사이에 주고 받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞추는 방식이다.장치 컨트롤러 내부에는 데이터 레지스터와 상태 레지스터, 제어 레지스터가 있다.데이터 레지스터는 CPU와 입출력장치 사이에 주고 받을 데이터가 담기는 레지스터이다.상태 레지스터는 입출력장치가 입출력 작업을 할 준비가 되었는지, 입출력 작업이 완료되었는지, 입출력장치에 오류가 없는지 등의 상태 정보가 저장된다.제어 레지스터는 입출력장치가 수행할 내용에 대한 제어 정보와 명..

혼자 공부하는 컴퓨터 구조+운영체제 7장 정리

다양한 보조 기억 장치하드 디스크하드 디스크는 자기적인 방식으로 데이터를 저장하는 보조기억장치이다.하드 디스크를 자기 디스크의 일종으로 지칭하기도 한다.하드 디스크에서 실질적으로 데이터가 저장되는 곳은 플래터라고 한다.플래터를 회전시키는 구성 요소를 스핀들이라고 한다.스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM이라는 단위로 표현된다.플래터를 대상으로 데이터를 읽고 쓰는 구성 요소는 헤드이다.헤드는 원하는 위치로 헤드를 이동시키는 디스크 암에 부착되어 있다.플래터는 트랙과 섹터라는 단위로 데이터를 저장한다.탐색 시간은 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간을 의미한다.회전 지연은 헤드가 있는곳으로 플래터를 회전시키는 시간을 의미한다.전송 시간은 하드 디스크와 컴퓨터 간..

혼자 공부하는 컴퓨터 구조+운영체제 6장 정리

RAM의 특징과 종류RAM에는 실행할 프로그램의 명령어와 데이터가 저장 된다.RAM은 전원을 끄면 저장된 내용이 날아가는 휘발성 저장장치보조 기억 장치는 전원을 꺼도 내용이 남아있는 비 휘발성 저장장치CPU는 휘발성 저장장치에 접근하여 프로그램을 실행한다. → 일반적으로 휘발성 저장장치는 실행할 대상을 저장하고, 비 휘발성 저장장치는 보관할 대상을 저장한다.RAM의 용량과 컴퓨터 성능 영향RAM 용량이 크면 많은 프로그램을 동시에 빠르게 실행되기 때문에 유리 하다. → 보조 기억 장치까지 가는 시간을 줄여준다.RAM 용량은 어느정도만 커도 된다. 커도 처리 속도가 따라가지 못하면, 속도는 같기 때문이다.처리 속도에 따라 RAM 용량을 적절하게 크게 하는 것이 중요하다.RAM의 종류DRAM (Dynamic..

혼자 공부하는 컴퓨터 구조+운영체제 5장 정리

빠른 CPU를 위한 설계 기법클럭 속도는 헤르츠 단위로 측정한다.1초에 클럭이 몇 번 반복되는지를 나타낸다.코어와 멀티코어코어란 CPU 내에서 명령어를 실행하는 부품으로 여러 개 있을 수 있다.코어를 여러 개 포함하고 있는 CPU를 멀티코어 CPU라고 한다.멀티코어 프로세서한 여러 개의 코어를 포함하고 있는 CPU를 말한다.코어마다 처리할 명령어들을 얼마나 적절하게 분배하느냐이고, 그에 따라서 연산 속도는 크게 달라진다.스레드와 멀티 스레드스레드는 실행 흐름의 단위이다.스레드에는 CPU에서 사용되는 하드웨어적 스레드가 있고, 프로그램에서 사용되는 소프트웨어적 스레드가 있다.하드웨어적 스레드스레드를 하드웨어적으로 정의하면 하나의 코어가 동시에 처리하는 명령어 단위를 의미한다.여러 스레드를 지원하는 CPU는..

혼자 공부하는 컴퓨터 구조+운영체제 3장 정리

고급 언어와 저급 언어사람을 위한 언어를 고급 언어라고 한다.컴퓨터가 직접 이해하고 실행할 수 있는 언어를 저급 언어라고 한다.저급 언어에는 기계어, 어셈블리어가 있다.기계어란 0과 1의 명령어 비트로 이루어진 언어이다.어셈블리어는 0과 1로 이루어진 기계어를 읽기 편한 형태로 번역한 저급 언어이다.컴파일 언어와 인터프리터 언어컴파일 방식으로 작동하는 프로그래밍 언어를 컴파일 언어, 인터프리트 방식으로 작동하는 프로그래밍 언어를 인터프리터 언어라고 한다.컴파일 언어컴파일 언어는 컴파일러에 의해 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어이다.컴파일을 수행해 주는 도구를 컴파일러라고 한다.컴파일러를 통해 저급 언어로 변환된 코드를 목적 코드라고 한다.인터프리터 언어인터프리터 언어는 인터프리터..