본문 바로가기

오퍼레이팅 시스템

(11)
오퍼레이팅 시스템 : Synchronization Ⅱ 1. Condition Synchronization 1) Condition Synchronization 이제 Mutual Exclusion를 보았으니, 그게 전부일까? Mutual exclusion는 단일 스레드만 특정 시점에 공유 리소스에 액세스할 수 있어야 함을 의미("data is available") concurrent programs을 구축하는 데 필요한 기본 요소는 Mutex뿐만이 아니다. Condition Synchronization 조건에 따라 동기화하려면 어떻게 해야 할까? 시스템 상태가 지정된 조건을 충족할 때까지 대기하여 여러 스레드의 실행 순서 지정 2. Condition Variables 1) Introducing Condition Variables 조건부 동기화를 지원하는 추상화..
오퍼레이팅 시스템 : Synchronization 1 0. Review Thread 프로세스에서 자신만의 스택이 있음 다른 스레드와 주소 공간을 공유 LWP(Light Weight Process)라고도 불림 1. Race Condition 1) Race Condition 공유 자원에 액세스하는 스레드의 결과가 다음과 같은 경우가 존재 Non-deterministic → Incorrect error Non-reproducible(재생 불가능) 실행 시기에 따라 다름 Multithreading : CPU 스케줄러가 실행을 "interleave" 할 수 있음 예측할 수 없는 요인 Multiprocessor : 멀티 프로세서에서 실행되는 타이밍은 다를 수 잇음 "프로세서 사용량"에 의존 스레드 관련 문제 atmoic operation에서 공유 리소스에 액세스하기 ..
오퍼레이팅 시스템 : Threads and Synchronization 1. Process and Thread 1) Process and Thread (1) Process 실행중인 프로그램(프로그램의 인스턴스) 일련의 명령이 실행되는 것을 특징으로 하는 활동 단위 및 관련 시스템 자원 집합 (2) Two characteristics The unit of resource ownership(자원 소유권의 단위) 프로세스에 메인 메모리, I/O 채널, I/O 장치 및 파일과 같은 리소스의 제어 또는 소유권을 할당할 수 있다. The unit of scheduling / execution(스케줄링/실행 단위) 프로세스는 실행 상태(Running, Ready 등)와 priority(우선순위)를 가지며 OS에 의해 예약된 엔티티이다. 지금까지는 프로세스에 단일 실행 시퀀스가 있다고 가..
오퍼레이팅 시스템 : Processor Scheduling Ⅱ 1. MP Scheduling 1) Process Scheduling in MP (1) Multiple-Processor(MP) Scheduling MP 시스템 분류 느슨하게 결합되거나 분산된 멀티프로세서 또는 cluster(클러스터) 각 프로세서는 고유한 메인 메모리 및 I/O 채널을 가지고 있음 이러한 유형의 구성은 16장에서 다룸 기능적으로 특화된 프로세서 예를 들어 I/O 프로세서가 있습니다. 이 경우 마스터 범용 프로세서가 있음 특수 프로세스는 마스터 프로세서에 의해 제어됨(11장 참조) 단단히 결합된 멀티프로세서 공통 메인 메모리를 공유하고 운영 체제의 통합 제어 하에 있는 프로세서 세트로 구성됨 MP 스케줄링 방법 Asymmetric multiprocessing(master/slave) → ..
오퍼레이팅 시스템 : Processor Scheduling Ⅰ 1. Types of processor scheduling 1) Terminologies 1. Burst(time) CPU Burst : CPU가 작업을 실행하는 데 걸리는 시간 I/O Burst : CPU가 I/O를 wait하는 데 걸리는 시간 2. CPU-I/O burst cycle 각 프로세스 실행은 CPU execution(실행) 및 I/O wait 주기로 구성된다. CPU 및 I/O Burst 교대 3. 프로세스 유형 또는 프로그램 동작 (a) CPU(또는 processor) bound I/O로부터 blocking 전 CPU의 long burst 프로세스가 주로 계산 작업을 수행하고 때때로 I/O 장치를 사용하는 경우에 processor bound로 간주된다. (b) I/O bound I/O로부..
오퍼레이팅 시스템 : Process Description and Control Ⅱ 1. Modes of Execution 1) Modes of Execution 대부분의 프로세서는 두 가지 이상의 execution(실행) 모드를 지원한다. 현재 모드를 나타내는 하나 또는 두 개의 HW 비트에 추가된 Mode bit(kernel or user) 일부 명령어는 일반적으로 kernel에 의해 제한됨 Interrupt management(인터럽트 관리) 및 halt instructions(중단 명령) I/O instruction(User들은 I/O에 직접 접근할 수 없음) Memory management instructions(page table or TLB load) "change mode bit" instruction도 privileged(권한이 있는)하다. 2. Mode Switch U..
오퍼레이팅 시스템 : Proccess Description and Control Ⅰ 1. What is process? 1) Process Process 용어의 몇몇 정의 A program in execution The entity that can be assigned to and executed on a processor(프로세서에 할당되고 실행될 수 있는 엔티티) 일련의 instruction, current state 및 관련된 시스템 자원의 집합이 실행되는 것을 특징으로 하는 활동 단위 job, task 그리고 process는 일반적으로 OS 측명에서는 유사 비록 그들은 다소 다른 용어적 역사를 가지고 있지만 예 : Machkernel : 프로세스를 두 개의 추상화로 나눈다. Task : 리소스 할당의 기본 단위 Thread : 실행 상태의 기본 단위 2. Program vs Pr..
오퍼레이팅 시스템 : Operating System Overview 1. Main objectives of an OS 1) OS(Operating System) Operating systems는 machine과 application을 inteface(연결)하는 프로그램입니다. 이러한 시스템의 주요 기능은 실행 중인 프로그램에 shared system resouce를 동적으로 할당하는 것입니다. 이와 같이 이 분야의 연구는 메모리, 프로세스 및 기타 장치의 관리 및 스케줄링과 관련이 있다. 2) OS Objectvies(목표) (1) Convenience(편의성) OS는 컴퓨터를 더 편리하게 사용할 수 있게 만들어 준다.. (2) Efficiency(효율성) OS는 컴퓨터 시스템 리소스를 효율적인 방식으로 사용할 수 있도록 한다. 시스템 리소스 : cpu, memory, ..