'Computer Science/Operating Systems' 카테고리의 글 목록 — Archive

Computer Science/Operating Systems

Computer Science/Operating Systems

[Operating Systems] Scheduling | 스케줄링

Scheduling 스케줄링 - Ready State에 있는 프로세스들 중 어떤 프로세스에 CPU를 할당할지에 대한 방법론이다. - Batch 환경이냐, Timesharing 환경이냐에 따라 스케줄링의 목적이 서로 다르다. - 프로세스에 CPU를 할당하는 OS의 일부분을 Scheduler라 하고, 스케줄러의 프로세스 선택 알고리즘을 Scheduling Algorithm이라 한다. - 스케줄러는 OS에 따라 Module로 구현되기도 하고, Function의 형태로 구현되기도 한다. - 스케줄링이 필요한 시점은 아래와 같다: 새 Process가 생성된 경우 Running 중이던 Process가 Exit한 경우 Process가 Block된 경우 I/O Interrupt가 발생된 경우 Clock Interrup..

Computer Science/Operating Systems

[Operating Systems] cron Job Scheduler | cron 스케줄러

cron Job Scheduler cron 스케줄러 - Unix 계열 OS의 시간 기반 Job Scheduler S/W Utility이다. - 소프트웨어 환경을 설정 및 관리하는 사람들은 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행하도록 스케줄링 하기 위해 cron을 사용한다. crontab (cron Table) - Shell Command들이 주어진 일정에 주기적으로 실행되도록하는 규정들이 저장되어 있는 테이블이다. - Job List, cron Daemon에 대한 다른 Command들이 보관된 위치가 저장되어 있다. - 사용자들은 각자의 crontab을 가질 수 있다. - /etc 또는 /etc의 하위 Directory에 시스템 관리자들만이 편집할 수 있는 crontab이 존재하는 경우도 있..

Computer Science/Operating Systems

[Operating Systems] I/O System

Chapter 5. Input / Output System - I/O System은 OS Code의 대부분을 차지하고, 복잡한 System 중 하나이다. - User의 체감 성능에 가장 중요한 영향을 미치는 것이 I/O System의 Performance이다. - Test하기가 힘든 영역이다. Typical I/O Devices - OS에는 위와 같은 다양한 종류의 I/O Device들에 대한 Driver가 전부 구현되어 있어야 한다. - 그렇기 때문에, OS Code의 대부분은 I/O와 관련된 내용들인 것이다. Principles of I/O Hardware Types of I/O Devices 1) Block Device - Data가 Fixed-Size Block에 저장되고, Block은 저마다의 ..

Computer Science/Operating Systems

[Operating Systems] File Systems

Chapter 4. File Systems * Long-Term Information Storage의 자격요건 1) 대량의 Data를 저장할 수 있어야 한다. 2) Persistent한 Data. 프로세스가 Data를 사용한 이후 혹은 System의 Power가 Off되어도 Data가 보존되어야 한다. 3) 여러 프로세스들이 동시에 Access하기에 편리해야 한다. - 위 조건들을 충족시키기 위해, "File System"이라는 개념이 등장했다. - File들은 Disk에 저장되며, Disk는 Linear Sequence of Fixed-Size Block이다. (Block 단위로 Read/Write이 가능하다.) Files File Naming - File의 명명법은 System마다 상이하다. * Ty..

Computer Science/Operating Systems

[Operating Systems] Memory Management

Chapter 3. Memory Management ※ Memory는 통상 D-RAM을 의미한다. * Goal of Memory Management - 메모리는 Scarce한 자원이기 때문에 여러 프로세스들이 메모리를 요청하는데, 이 때 Performance는 최대화하고, Overhead는 최소화 하면서 Memory를 Allocation하는 방법을 찾는다. - 프로그래밍에서 효율적인 Abstraction을 제공한다. - 프로그래머는 메모리가 0에서 N까지의 주솟값을 가진 Linear한 구조라 생각하고, 메모리 구조에 대한 상세한 지식 없이 프로그래밍할 수 있다. * Mechanisms for Memory Management - Physical Address Space, Virtual Address Spa..

Computer Science/Operating Systems

[Operating Systems] Processes and Threads | 프로세스와 스레드

Processes and Threads 프로세스와 스레드 - 2.1 Processes - Process = Job = Task = Sequential Process - Process는 Program Execution의 기본단위이다. - 프로그램 실행이 Abstraction된 형태를 Process라 한다. - Thread는 CPU 할당의 기본단위이다. - Program과 달리, Process는 수행되며 동적으로 상태가 변한다. (Dynamic Execution Context) * Multiprocessing - 다수의 Processor 시스템에서 다수의 Process를 구동하여 하나의 Job을 처리하는 형태를 의미한다. * Pseudoparallelism - 물리적으로 Parallelism이 구현된 것은 ..

Computer Science/Operating Systems

[Operating Systems] Introduction to Operation System

Chapter 1. Introduction - 운영체제는 컴퓨터 시스템의 여러 H/W를 관리함으로써, 응용 프로그래머가 H/W의 세부적인 구현사항들을 일일히 신경쓰지 않고 프로그래밍을 할 수 있게 한다. - 운영체제는 Application에 서비스와 인터페이스(System Call)를 제공한다. (System Call은 Trap 명령어를 사용하는 라이브러리 함수이다.) - 모든 Application은 H/W에 직접 액세스할 수 없으며, 반드시 OS를 거쳐야 H/W에 접근 및 제어할 수 있다. (대표적인 Interface로, System Call이 있다.) - 사용자는 User Interface Program으로써 Text-based 환경의 shell이나, GUI 환경을 이용하여 OS를 접하게 된다. 1...

lww7438
'Computer Science/Operating Systems' 카테고리의 글 목록