[개발일지]/필기 14

Process1

프로세스란? - Process is a program in execution: 실행중인 프로그램 프로세스의 문맥(context): - CPU 수행 상태를 나타내는 하드웨어 문맥(program counter, 각종 register) - 프로세스의 주소 공간(code, data, stack) - 프로세스 관련 커널 자료 구조(PCB, Kernal stack) 프로세스의 상태: 프로세스는 상태(status)가 변경되며 수행된다 - Running: CPU를 잡고 instruction을 수행중인 상태 - Ready: CPU를 기다리는 상태(메모리 등 다른 조건을 모두 만족하고) - Blocked(wait, sleep): CPU를 주어도 당장 instruction을 수행할 수 없는 상태 Process 자신이 요청한..

System Structure & Program Execution 2

instruction: - 실행해야하는 기계어, 보통 4비트로 구성 - 순차적으로 기계어를 실행하다 반복문이나 함수를 만나면 점프뜀 - 매 기계어를 실행하고 interrupt 라인을 체크, interrupt가 있으면 실행해야 할 기계어를 잠시 멈추고 CPU를 OS에게 줌 - OS는 CPU를 받고 interrupt 상황에 따라 인터럽트 백터를 참고하여 해당 인터럽트를 처리하는 커널 함수(인터럽트 처리 루틴)을 실행함 - OS가 CPU를 가지고 있을때는 mode bit이 0, 모든 기계어 실행 가능(다른 사용자의 메모리나 I/O 디바이스 접근 가능) - 사용자 프로그램이 CPU를 가지고 있을땐 mode bit이 1, 제한된 기계어만 사용 가능 - 사용자 프로그램이 I/O 할일이 있을때 OS에게 요청해야 하는..

System Structure & Program Execution 1

운영체제에 들어가기 앞서 하드웨어가 어떻게 돌아가는지 공부 computer: CPU + Memory I/O device: disk, 키보드, 모니터 등 - I/O 디바이스는 각각 device controller 라는 하나의 작은 CPU를 가지고 있음 - I/O 디바이스는 CPU가 직접 관리하는 것이 아닌 device controller가 관리함 - CPU와 memory가 있듯 각각 I/O 디바이스도 local buffer가 존재 - CPU는 매 클럭 사이클마다 memory로부터 instruction을 읽어와서 실행함 - Interrupt line: CPU의 속도와 I/O 디바이스의 속도는 크게 차이가남, CPU가 프로그램 A의 instruction을 실행하고 있을때 disk로부터 값을 읽어와야 하면(I/..

Introduction to Operating Systems

운영체제 - 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프투웨어와 하드웨어를 연결하는 소프트웨어 계층 - 좁은 의미로는 커널이라고 함 - 넒은 의미로는 커널뿐 아니라 주변 시스템 유틸리티까지 포함 목적 - 하드웨어를 효율적으로 관리 자원: 프로세서, 기억장치, 입출력 장치 등 사용자간 형평성 있는 자원 분배 및 주어진 자원으로 최대한의 성능을 내는 것이 목표 - 컴퓨터 시스템을 효율적으로 관리(소프트웨어) - 여러 사용자가 하나의 컴퓨터를 사용해도 각자 다른 컴퓨터를 사용하는 듯한 느낌을 들게해줌 운영체제의 분류 - 동시 작업 가능 여부 1. 단일 작업: 한번의 하나의 작업만 처리, MS-DOS 2. 다중 작업: 동시에 두개 이상의 작업 처리, 리눅스, 윈도우 - 사용자 수 1. 단일 사..