* 프로세스
- 중앙처리장치로 전원이 켜지면 메모리의 첫부분을 읽어서 실행시킨다.
- 프로세스의 구조
> Control Unit : 명령어를 해석하는 명령어 해석기, 제어 로직으로 구성됨
> ALU(Arithmetic and Logic Unit) : 산술연산 및 논리 연산을 수행하며 레지스터라는 메모리를 가짐
> Registers : ALU의 산술, 논리 연산을 위한 저장장소.
ⓐ General register : 프로그램, 데이터 처리를 위한 레지스터
ⓑ Stack register, Program Counter register : 프로그렘 제어 및 프로세서 제어 레지스터
ⓒ status register : error를 체크하는 레지스터
ⓓ Instruction register : 데이터 어드레싱, 데이터 처리를 위해 사용되는 레지스터로 현재 명령어 저장
- 프로세스의 기본기능
ⓐ 메모리에서 명령어 읽기
ⓑ 메모리에 데이터 쓰기
ⓒ 메모리에서 데어터 읽기
ⓓ IO장치에 데이터 쓰기
ⓔ IO장치에 데이터 읽기
ⓕ 연산
- 프로세스는 memory에 직접적연결이 불가능하다. 레지스터를 통해서 이뤄져야한다.
- 프로세스와 레지스터간 중간 저장장소 cache가 존재.
- 프로세스 모드(mode)
ⓐ user mode : 제한된 명령어만 실행
ⓑ kernal mode : 제한 없이 모든 명령어 실행
> 시스템 보호, 보안을 위해서 이렇게 모드를 나눠서 사용을 한다.
- 프로세서 명령어 : 기계어(어셈블리)
* 버스 : 컴퓨터 시스템 각 부분 사이에 전기적 신호를 전달하는 역할은 한다.
* 메모리
- 휘발성 메모리와 비휘발성 메모리로 나뉜다.
- 휘발성 메모리의 대표적인 것으로 RAM, 비휘발성 메모리의 대표적인 것으로 ROM이 존재한다.
- 휘발성일수록 메모리의 속도가 빨라지며, 용량이 작아진다.
- 메모리 계층 : register <-> cache <-> main memory
* 캐싱(caching)
- 사용중인 데이터를 느린 저장장치에서 빠른 저장장치로 임시로 복사하는 것
- 자주 사용될 여지가 있는 데이터를 임시로 저장하여 빠른 속도로 데이터에 접속할 수 있도록 도와준다.
- 캐싱 자료를 모아 놓는 메모리를 cache라고 한다.
- 캐싱에 있어서 cache메모리는 재한적이므로, cache가 꽉찼을때 해주는 교체정책을 잘 선택해야한다.
* Interrupt
- CPU에 어떠한 사건이 발생했음을 알리는 것으로 하드웨어의 인터럽트(I/O장치의 입출력 종료)와
소프트웨어 인터럽트(트랩:프로그램 오류, 시스템 호출)등으로 나뉜다.
- 인터럽트가 발생하면 CPU는 현재 수행하던 일을 중단하고 인터럽트 서비스 루틴을 수행한다.
인터럽트 서비스 루틴은 커널 모드에서 수행되기 때문에 인터럽트가 발생하면 잠시 임의로 모드가 변경된다.
* 운영체제
- 사용자와 컴퓨터 하드웨어 사이에서 매개체 역할을 하는 프로그램
- 컴퓨터 하드웨어와 응용 프로그램간의 인터페이스 역할을 하며 컴퓨터 자원을 관리해준다.
- 관점으로 나눠서 보면 사용자 관점으로는 프로그램을 수핼할 수 있는 UI를 제공해주며,
시스템 관점으로 보면 하드웨어를 효율적으로 관리 할 수 있는 수단을 제공해준다.
- 운영체제의 중요 기능
ⓐ 프로세스 관리
ⓑ 메모리 관리
ⓒ 저장장치 관리
ⓓ 파일 시스템
ⓔ 입출력 장치 관리
ⓕ 보호 / 보안
- 중앙처리장치로 전원이 켜지면 메모리의 첫부분을 읽어서 실행시킨다.
- 프로세스의 구조
> Control Unit : 명령어를 해석하는 명령어 해석기, 제어 로직으로 구성됨
> ALU(Arithmetic and Logic Unit) : 산술연산 및 논리 연산을 수행하며 레지스터라는 메모리를 가짐
> Registers : ALU의 산술, 논리 연산을 위한 저장장소.
ⓐ General register : 프로그램, 데이터 처리를 위한 레지스터
ⓑ Stack register, Program Counter register : 프로그렘 제어 및 프로세서 제어 레지스터
ⓒ status register : error를 체크하는 레지스터
ⓓ Instruction register : 데이터 어드레싱, 데이터 처리를 위해 사용되는 레지스터로 현재 명령어 저장
- 프로세스의 기본기능
ⓐ 메모리에서 명령어 읽기
ⓑ 메모리에 데이터 쓰기
ⓒ 메모리에서 데어터 읽기
ⓓ IO장치에 데이터 쓰기
ⓔ IO장치에 데이터 읽기
ⓕ 연산
- 프로세스는 memory에 직접적연결이 불가능하다. 레지스터를 통해서 이뤄져야한다.
- 프로세스와 레지스터간 중간 저장장소 cache가 존재.
- 프로세스 모드(mode)
ⓐ user mode : 제한된 명령어만 실행
ⓑ kernal mode : 제한 없이 모든 명령어 실행
> 시스템 보호, 보안을 위해서 이렇게 모드를 나눠서 사용을 한다.
- 프로세서 명령어 : 기계어(어셈블리)
* 버스 : 컴퓨터 시스템 각 부분 사이에 전기적 신호를 전달하는 역할은 한다.
* 메모리
- 휘발성 메모리와 비휘발성 메모리로 나뉜다.
- 휘발성 메모리의 대표적인 것으로 RAM, 비휘발성 메모리의 대표적인 것으로 ROM이 존재한다.
- 휘발성일수록 메모리의 속도가 빨라지며, 용량이 작아진다.
- 메모리 계층 : register <-> cache <-> main memory
* 캐싱(caching)
- 사용중인 데이터를 느린 저장장치에서 빠른 저장장치로 임시로 복사하는 것
- 자주 사용될 여지가 있는 데이터를 임시로 저장하여 빠른 속도로 데이터에 접속할 수 있도록 도와준다.
- 캐싱 자료를 모아 놓는 메모리를 cache라고 한다.
- 캐싱에 있어서 cache메모리는 재한적이므로, cache가 꽉찼을때 해주는 교체정책을 잘 선택해야한다.
* Interrupt
- CPU에 어떠한 사건이 발생했음을 알리는 것으로 하드웨어의 인터럽트(I/O장치의 입출력 종료)와
소프트웨어 인터럽트(트랩:프로그램 오류, 시스템 호출)등으로 나뉜다.
- 인터럽트가 발생하면 CPU는 현재 수행하던 일을 중단하고 인터럽트 서비스 루틴을 수행한다.
인터럽트 서비스 루틴은 커널 모드에서 수행되기 때문에 인터럽트가 발생하면 잠시 임의로 모드가 변경된다.
* 운영체제
- 사용자와 컴퓨터 하드웨어 사이에서 매개체 역할을 하는 프로그램
- 컴퓨터 하드웨어와 응용 프로그램간의 인터페이스 역할을 하며 컴퓨터 자원을 관리해준다.
- 관점으로 나눠서 보면 사용자 관점으로는 프로그램을 수핼할 수 있는 UI를 제공해주며,
시스템 관점으로 보면 하드웨어를 효율적으로 관리 할 수 있는 수단을 제공해준다.
- 운영체제의 중요 기능
ⓐ 프로세스 관리
ⓑ 메모리 관리
ⓒ 저장장치 관리
ⓓ 파일 시스템
ⓔ 입출력 장치 관리
ⓕ 보호 / 보안