
운영체제 (Operating System) 운영체제란? 사용자와 컴퓨터 하드웨어 사이의 인터페이스 역할을 하는 프로그램이다. 운영체제의 목적 프로그램을 실행시켜 사용자의 문제를 해결하게 도와준다. 사용자가 컴퓨터 시스템을 편리하게 사용하게 해준다. 컴퓨터 하드웨어를 효율적인 방법으로 관리한다. 컴퓨터 시스템의 4가지 구성요소 컴퓨터 시스템은 다음 ...

Operating System Services 운영체제는 사용자에게 도움을 주기 위해 여러 서비스들을 제공한다. 1. User Interface: 사용자 시스템 연결 창구 CLI(Command Line Interface)- 명령어 기반 GUI(Graphics User Interface)- 그래픽 기반 Batch- 프로그램과 데이터만 주면 오...

Process Concept Process = 현재 실행 중인 프로그램 프로세스의 실행은 항상 순차적으로 진행됨 ✔ 운영체제가 실행하는 프로그램 유형 프로세스라는 용어는 컴퓨터 실행 환경에 따라 job, 또는 user program, tasks라는 용어로 불리기도 한다. Batch system→ job 단위 실행 Time-sharing system → 사...

Threads 프로세스를 더 잘게 쪼갤 수 있으면 그들 각각을 스레드라고 한다. ✔ Thread란 CPU 이용의 가장 기본 단위 (basic unit of CPU utilization) 경량 프로세스 (Lightweight Process) ✔ Thread의 구성 요소 Thread ID Program Counter (PC) Register Set Sta...

운영체제에서 CPU Scheduling은 ready 상태에 있는 여러 프로세스 중 어떤 프로세스에게 CPU를 할당할지 결정하는 과정이다. 멀티프로그래밍 환경에서는 여러 프로세스가 번갈아 실행되기 때문에 CPU를 어떤 기준으로 누구에게 줄지 정하는 스케줄링이 중요하며, 보는 관점에 따라 job scheduling 이라고도 한다. Basic Concepts ...

운영체제에서는 여러 프로세스나 스레드가 동시에 실행될 수 있다. 이때 여러 프로세스가 같은 공유 데이터에 접근하면 실행 순서에 따라 결과가 달라질 수 있다. 즉 이번 장에서는 프로세스 동기화에 대해 다룬다. Background 공유 데이터에 여러 프로세스가 동시에 접근하면, 데이터 일관성 문제가 발생한다. 대표적인 예시가 producer-consumer...

이번 장에서는 데드락의 개념과 이를 방지하거나 회피하는 여러 방법들을 소개한다. Deadlock이란? Deadlock(교착상태)은 여러 프로세스가 서로가 가진 자원을 기다리면서 더 이상 진행하지 못하는 상태다. 정확히는 blocked 상태의 프로세스 집합이 있고, 그 집합에 속한 각 프로세스가 어떤 자원을 이미 가지고 있으면서 동시에 다른 프로세스가 가...

이번 장에서는 메모리 관리의 개념과 그 기법들에 대해 다룬다. Background 프로그램은 메모리에 올라와야 실행된다 디스크에 저장된 프로그램은 실행되기 전에 반드시 메모리에 적재되어 프로세스가 되어야 CPU가 실행할 수 있다. 이때 하드디스크에 위치한 프로세스들이 메모리로 올라가기 위해 대기하는 큐를 input queue라고 한다. 즉 inqut ...