CS/운영체제 4

User Mode, Kernel Mode, Interrupt

현대 OS는 사용자 프로그램의 간섭으로부터 운영체제 및 프로세스 제어블록과 같은 주요 운영체제 테이블을 보호하기 위해 User Mode와 Kernel모드를 나누어 관리한다. 따라서 어플리케이션 프로그램들은 직접 I/O 장치에 접근할 수 없다. User Mode -권한을 덜 가진 모드 -사용자 프로그램들이 수행됨 -HW resource에 대해서는 모두 접근 가능 Kernel Mode -더 많은 권한을 가진 모드 -User Mode가 접근할 수 있는 것들 외에 system resource에 대해서도 접근가능 User Mode와 Kernel Mode의 구분 모드 비트(mode bit)로서 구분됨 mode bit가 1 일 경우 user mode, 0일 경우 kernel mode User Mode와 Kernel ..

CS/운영체제 2021.08.27

Process Abstraction / 프로세스 추상화

프로세스 정의 -실행 중인(running) 프로그램 -처리기에 할당되어 수행될 수 있는 개체 프로세스 구성 메모리(Code,Data,Stack) + 레지스터(Program Counter, Stack Pointer) 프로세스 vs 프로그램 1. 프로그램 -disk에 위치 -disk에 위치하는 실행파일(.exe) 2. 프로세스 -memory에 위치 -프로그램이 memory에 올라와 CPU를 할당받고 실행되고 있는 상태 프로세스 생성 -fork()와 같은 system call을 사용해 process를 생성 -프로그램 코드를 메모리로 로드(= 프로세스 자신의 가상주소공간으로 프로그램 코드를 로드) *이 때 disk와의 I/O는 시간이 많이 걸리는 작업이기 때문에, 한꺼번에 전부를 load하지는 않고 가장 먼저 ..

CS/운영체제 2021.08.27

OS , 커널 정의

OS 정의 -운영체제 -자원관리자 -자원을 관리하는 소프트웨어 -하드웨어를 소프트웨어로 추상화 OS 역할 -사용자가 프로그램을 쉽게 사용할 수 있도록 돕는다. :실제로 HW가 어떻게 작동하는지를 숨기고(가상화), 사용자가 간단하게 사용할 수 있는 관리 도구를 제공(추상화)한다. -시스템이 정확하고 효율적으로 작동하는지 확인한다. 커널 정의 핵심 SW로, 기본적으로 메모리에 상주하는 중요한 코어가 되는 SW 프로세스들이 메모리를 공유하고(=가상화) 디바이스와 상호 작용하는 드으이 작업을 대신함으로써 사용자가 프로그램을 쉽게 돌릴 수 있게하는 SW 가상화 vs 추상화 1. 가상화 -메모리를 공유한다. (메모리 측면) -프로세스를 번갈아 수행하여 마치 CPU가 여러개인 것처럼 보이게한다. (프로세스 측면) 2..

CS/운영체제 2021.08.27

모노리틱 커널, 마이크로 커널, 하이퍼바이저

가상화 컴퓨팅에 필요한 물리적 자원을 복제하는 기술 물리적 자원을 복제하여 새로운 가상의 자원을 생성하는 행위 물리적 자원: 어떠한 컴퓨터를 구동하기 위해 반드시 필요한 CPU나 메모리, 디스크, 네트워크 등의 시스템 자원 커널 시스템에 존재하는 자원을 효율적으로 관리하는 자원 관리자 메모리에 항상 상주하고 있는 프로그램(Memory Resident) 자원관리, 메모리관리, 장치관리 1. 자원 관리 커널은 주소공간과 그 안의 자원에 대한 액세스를 중재할 수 있는 보호 매커니즘을 정의함. 또한 프로세스 간 통신과 문맥교환을 담당함. -프로세서 생성 및 소멸 -프로세서 간 통신 -CPU 스케쥴링 동기화 -지한된 자원에 대한 다중 프로세서의 효율적인 관리기법 제공 2. 메모리 관리 커널은 시스템 메모리에 대한..

CS/운영체제 2021.08.25