# Bus : 컴퓨터 내에서 데이터가 지나다니는 길
# 명령어 처리 4단계
1. IF (Fetch) : 메모리로부터 명령어를 IR에 넣는 단계
2. ID (Decode) : IR의 명령어를 명령 디코더가 해석하여 제어부로 전달하는 단계
3. EX (Execute) : 제어신호에 따라 명령 수행(연산, 전송 등)
4. WB (Write Back) : 처리된 결과를 레지스터나 메모리에 저장하는 단계
# 명령어의 구조
명령어의 구성요소 : Operation Code(명령의 종류를 나타내는 부분), Operand(관련 데이터를 표현하는 부분)
Op Code에 따른 명령어의 종류 : 데이터 전송, 연산, 플래그 조작, 분기, 인터럽트/제어
#운영 체제(Operating System, OS) :
시스템 하드웨어 관리 응용 소프트웨어를 실행하기 위하여
하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어
= 사용자에게 인터페이스를 제공하고 컴퓨터의 자원을 효율적으로 관리하는 소프트웨어
# 운영체제의 역할
: Process, Thread의 효율적 관리, 하드웨어 자원의 효율적 관리, 사용자 인터페이스 제공(UI, GUI), 하드웨어 인터페이스 제공
# 운영체제의 구성요소
: 인터페이스, 커널(Kernel)
# 운영체제의 부팅과정 (컴퓨터)
: BIOS (Basic I/O System) - 하드웨어 정상 여부 확인
MBR (Master Boot Record) - 부팅 디바이스 영역 (윈도우, 리눅스 등을 다 깔아서 사용할 때 여기서선택하게 할 수 있음
# 프로세스 (운영체제가 관리)
프로세스 : 작업의 기본단위(메모리에 존재) -- 상태 : 생성(+PCB), 준비, 실행, 대기, 완료(-PCB)
* 문맥교환 : 프로세스의 상태를 바꾸는 작업 -- 과정 : 현재 작업 저장, 레지스터 백업, 새 작업 로드, 레지스터 복원
* 프로세스 스케줄링 : 자원을 효율적으로 활용하여 작업을 수행하기 위해 프로세스의 상태를 바꾸는 알고리즘
-- 종류 : 선점형(뺏기), 비선점형(기다리기)
* 경쟁조건 : 공유 자원을 경쟁적으로 읽거나 쓰는 경우 (순서, 결과 예상 X)
프로그램 : 작업 내용 (HDD에 존재)
# 시스템 호출 : User mode의 프로세스가 임의로 접근하는 것을 막고 OS커널이 인터페이스를 주는 방법
(User mode에서 커널이 제공하는 시스템 서비스 목록을 이용)
프로세스 운영모드 : User mode / Supervisor, Privileged mode