Chapter 3. Process (1) 💡 Process 프로세스의 개념 프로세스는 실행중인 프로그램을 의미한다. (Process is a program in execution) 프로세스의 문맥(context) CPU의 수행 상태를 나타내는 하드웨어 문맥. Program Counter 각종 Register 프로세스의 주소 공간 code, data, stack 프로세스 관련 PCB (Process Control Block) Kernel stack 프로세스의 상태 프로세스는 상태가 변경되면서 수행된다. Running CPU를 잡고 Instructionm을 수행중인 상태 Ready CPU를 기다리는 상태 (메모리 등 다른 조건을 모두 만족하고) Blocked (wait, sleep) CPU를 주어도 당장 i..
Chapter 2. System Structure & Program Execution (2) 💡 컴퓨터 시스템 구조 (2) Program Counter CPU 안에 있는 Register 중의 하나로서, 다음에 실행할 instruction의 주소를 가지고 있어 실행할 기계어 코드의 위치를 지정한다. 다른 말로는 명령어 포인터 (instruction pointer)라고도 불린다. 일반적으로 Program counter는 명령을 마칠때마다 주소값이 1씩 증가하게 된다. 동기식 입출력과 비동기식 입출력 동기식 입출력 (Synchronous I/O) I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어가며, 다음 작업을 수행할 수 있음. 구현 방법 1 I/O가 끝날 때까지 CPU를 낭비시킴 ..
Chapter 2. System Structure & Program Execution (1) 💡 컴퓨터 시스템 구조 하드 디스크는 input device/output device 둘 다의 역할을 한다. – cpu안에는 memory보다 빠른 저장 공간이 있음. 이를 register라고 함. Interrupt line은 항상 프로그램이 memory 영역만을 사용해서 작동하기는 어렵기 때문에, I/O device 접근을 위해 프로그램 실행 중 interrupt를 걸어 해당 device에서 데이터를 읽거나 쓴다. Mode Bit 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치 필요. cpu는 항상 interrupt line을 체크해 프로그램 실행 중 int..
Chapter 1. Introduction to Operating Systems 💡 운영체제란 무엇인가 ? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 운영체제는 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공해주며, 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공함. 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행해줌. 컴퓨터 시스템의 자원을 효율적으로 관리해줌. 프로세서, 기억장치, 입출력장치 등의 효율적 관리 사용자간의 형평성 있는 자원 분배와 주어진 자원으로 최대한의 성능을 내도록 OS가 관리해줌. 사용자 및 운영체제 자신의 보호 프로세스, 파일, 메세지 등을 관리 좁은 의미의 운영체제 : 커널(..