운영체제(OS, Operating System) : 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스.
운영체제
- GUI : 사용자가 전자장치와 상호 작용할 수 있도록 하는 사용자 인터페이스의 한 형태
- 커널 : 운영체제 핵심. 시스템의 전반을 관리/감독. 하드웨어와 관련된 작업 직접 수행
- 드라이버 : 하드웨어를 제어하기 위한 소프트웨어
- CUI : 그래픽이 아닌 명렁어로 처리하는 인터페이스
시스템콜 종류
유저 프로그램이 I/O 요청으로 트랩(trap) 발동 ➡ 올바른 I/O요청인지 확인 ➡ 유저 모드가 시스템콜을 통해 커널 모드로 변환되어 실행
우리가 개발하는 프로그램은 일반적으로 유저 모드
에서 실행
프로그램 실행 중 인터럽트가 발생하거나 시스템콜을 호출하면 커널 모드
로 전환
커널 모드 : 프로그램의 현재 상태 저장(나중에 다시 이어서 실행하기 위해)
커널 모드 : 커널이 인터럽트나 시스템콜을 직접 처리. 즉 CPU에서 커널 코드 실행
커널 모드 : 처리가 완료되면 중단됐던 프로그램의 CPU 상태를 복원
통제권은 다시 프로그램에게 반환(커널 모드 -> 유저 모드)
유저 모드 : 프로그램이 이어서 실행
커널모드가 왜 있냐?
시스템을 보호하기 위해. 커널 모드가 없으면 우리가 개발한 프로그램이 함부로 하드웨어를 점유해서 사용하고, 다른 프로세스에 영향을 줄 수 있음
산술논리연산장치
, 제어장치
, 레지스터
로 구성CPU의 구성 요소
- CPU(Central Process Unit)
중앙 처리 장치
. 컴퓨터에서기억
,해석
,연산
,제어
라는 4대 주요 기능을 관할하는 컴퓨터의 대뇌라고 할 수 있는 장치- CU(Control Unit)
제어 장치
.- 프로세스 조작을 지시하는 CPU의 한 부품
- 역할
- 입출력장치 간 통신 제어
- 명령어를 읽고 해석
- 데이터 처리를 위한 순서 결정
- ALU(Arithmetic Logic Unit)
산술 논리 장치
. 덧셈, 뺄셈과 같은 두 숫자의 연산과 배타적 논리합, 논리곱, 논리합 같은 논리 연산을 하는 디지털 회로- Register set
- CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 다목적 공간
- 명령을 실행하는데 필요한 데이터를 보관하는 역할
- CPU 내부에 있는 레지스터에서 데이터를 가져옴 ➡ 연산 속도가 메모리보다 매우 빠름
- CPU는 자체적으로 데이터 저장 방법이 없음 ➡ 레지스터를 거쳐 데이터 전달
CPU의 연산 처리
1. 제어장치가 메모리, 레지스터에 계산할 값 로드
2. 제어장치가 레지스터에 있는 값 계산하라고 산술논리연산장치에 명령
3. 제어장치가 계산된 값 다시 '레지스터에서 메모리로' 계산한 값을 저장
인터럽트 벡터
로 가 인터럽트 핸들러 함수
실행하드웨어 인터럽트
, 소프트웨어 인터럽트
로 나뉨인터럽트 핸들러 함수 : 인터럽트가 발생했을 때 이를 핸들링하기 위한 함수.
하드웨어 인터럽트
- IO 디바이스에서 발생하는 인터럽트.
소프트웨어 인터럽트
트랩(trap)
이라고도 함.- 프로세스 오류 등으로 프로세스가
시스템콜
호출할 때 발동.
RAM(Random Accdss Memory)
를 일컬어 메모리라 함CPU : 계산 담당
, 메모리 : 기억 담당
주홍철 작가님의 '면접을 위한 CS 전공지식 노트'를 기반으로 작성되었습니다.