บทที่ 7 Operating Systems Operating Systems

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Introduction to C Introduction to C.
Advertisements

โครงสร้างโปรแกรมภาษา C
กระบวนการ (Process).
พลังงานในกระบวนการทางความร้อน : กฎข้อที่หนึ่งของอุณหพลศาสตร์
ระบบปฏิบัติการ (Operating System : OS )
โครงสร้างของระบบปฏิบัติการ Operating System Structure
ระบบมัลติโปรแกรมมิ่ง (Multiprogramming System)
Chapter 1 Introduction to Information Technology
สภาวะแวดล้อมในขณะโปรแกรมทำงาน
Central Processing Unit
การแทนค่าข้อมูล และ Primary Storage (Memory)
Software คือ ชุดคำสั่งหรือ ขั้นตอนการทำงานของคอมพิวเตอร์
ความหมายของซอฟท์แวร์ (Software, Program)
การจัดการหน่วยความจำ Memory Management
การสืบค้นข้อมูลจาก Web OPAC
การจัดการอุปกรณ์รับ และแสดงผล
หน่วยที่ 1 ระบบคอมพิวเตอร์
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
องค์ประกอบพื้นฐาน ของโปรแกรม Visual Basic
จำนวนนับใดๆ ที่หารจำนวนนับที่กำหนดให้ได้ลงตัว เรียกว่า ตัวประกอบของจำนวนนับ จำนวนนับ สามารถเรียกอีกอย่างว่า จำนวนเต็มบวก หรือจำนวนธรรมชาติ ซึ่งเราสามารถนำจำนวนนับเหล่านี้มา.
ขั้นตอนการแปลงไฟล์.
Operating System ฉ NASA 4.
Chapter 1 Introduction to Information Technology
หน่วยความจำเสมือน Virtual Memory.
การทำงานของคอมพิวเตอร์
โครงสร้างการทำงานของ OS
แนะนำรายวิชา ระบบปฏิบัติการ ภาคเรียนที่ 1/2557
SWE202 Fundamental of Operating System
Functional components of a computer
Chapter 2 Database systems Architecture
CPU ไม่รวม I/O PROCESSOR , MATH CO-PROCESSOR
บทที 1 เริ่มต้น Windows XP
องค์ประกอบของระบบสารสนเทศภูมิศาสตร์ โดยหลักการแล้วจะประกอบด้วย 5 ส่วน คือ องค์ประกอบด้านฮาร์ดแวร์ องค์ประกอบด้านซอฟท์แวร์ หน่วยงานหรือตัวบุคคล วิธีการปฏิบัติงาน.
Memory Management ในยุคก่อน
Charter 11 1 Chapter 11 ระบบปฏิบัติการ Operation System : OS.
องค์ประกอบทางด้านซอฟต์แวร์
บทที่ 3 การวิเคราะห์ Analysis.
ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการ
กิจกรรมที่ 1 ซอฟต์แวร์ระบบ จุดประสงค์ 1. บอกความหมายของซอฟต์แวร์
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
ระบบคอมพิวเตอร์และการประมวลผล
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
ฟังก์ชัน.
Process.
เกียรติพงษ์ ยอดเยี่ยมแกร
การจัดการฐานข้อมูล.
กิจกรรมที่ 1 ซอฟต์แวร์ระบบ จุดประสงค์ 1. บอกความหมายของซอฟต์แวร์
บทที่ 3 การจ่ายงาน (Process Management).
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Computer What are they? – อุปกรณ์อิเลคทรอนิคส์ที่ทำงานภายใต้คำสั่งงานที่เก็บอยู่ ในหน่วยความจำ โดยคอมพิวเตอร์ จะ สามารถรองรับ ข้อมูล หรือ Input ทำการประมวลผล.
Chapter 7 Input/Output I/O Module
Input / Output ธนวัฒน์ แซ่เอียบ.
คอมพิวเตอร์และระบบปฏิบัติการเบื้องต้น
การค้นในปริภูมิสถานะ
นาย เกียรติศักดิ์ แสนนวล โรงเรียนจักรคำคณาทรลำพูน
โครงสร้างข้อมูลแบบ สแตก (stack)
ระบบคอมพิวเตอร์ และ การสื่อสาร กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
ผลการประเมิน คุณภาพการศึกษาขั้นพื้นฐาน ปีการศึกษา
2 มิ. ย 2547 โดย วชิราวุธ ธรรมวิเศษ 1 บทที่ 1 แนะนำเทคโนโลยีจาวา Introduction to Java Technology.
วิชาเทคโนโลยีคอมพิวเตอร์และระบบปฏิบัติการ รหัสวิชา Computer Technology and Operating System บทที่ 1 เทคโนโลยีคอมพิวเตอร์ อ.รจนา วานนท์ Master.
1 LAN Implementation Sanchai Yeewiyom School of Information & Communication Technology Naresuan University, Phayao Campus.
คุณลักษณะของคำสั่งภาษาเครื่อง ชนิดของตัวถูกดำเนินการ
ระบบปฏิบัติการคอมพิวเตอร์ Operating System
บทที่ 7 Operating Systems Operating Systems
ฮาร์ดแวร์และยูทิลิตี้เบื้องต้น
DEADLOCKS Advanced Operating System Operating System Technology
Operating System Overview
บทที่ 3 การจัดการหน่วยความจำ (Memory Management)
CPU and I/O bursts.
Memory Management Ex. C = A + B A typical instruction-execution cycle
ใบสำเนางานนำเสนอ:

บทที่ 7 Operating Systems Operating Systems บทที่ 7 Intro. to Operating Systems Operating Systems Intro. to Computer Organization & Architecture 322 162

Information Management หัวข้อเรื่อง I/O Programming Memory Management Processor Management Device Management Information Management Microprogramming

วัตถุประสงค์การเรียน อธิบายส่วนประกอบหลักและหลักการทำงานของระบบปฏิบัติการได้ถูกต้องครบถ้วน ยกตัวอย่างระบบปฏิบัติการที่นิยมใช้กันอยู่ในปัจจุบันได้ไม่น้อยกว่า 3 ระบบ อธิบายความสำคัญของไมโครโปรแกรมได้

หนังสืออ้างอิง อภิศักดิ์ พัฒนจักร โปรแกรมระบบงาน เอกสารประกอบคำสอนวิชา 320 315 คณะวิทยาศาสตร์ มหาวิทยาลัยขอนแก่น 2547. Donovan, John J. System Programming McGraw-Hill 1982. Stallings, William Computer Organization and Architecture : designing for performance 7th ed. NewJersey : Prentice-Hall, 2006.

4 major resources which controlled by O.S. View of O.S Users view as utility functions set and control languages used or various facilities provided System Programmers view as resource management 4 major resources which controlled by O.S. Memory Devices Processor Information

Resource Example Sample Software Memory RAM Paging, Segment-paged Processor CPUs, Traffic Controller, I/O Channels Scheduler Devices Disks, Printers, Spooling, Tapes Buffering Information Segments File System, (System,Users, Library, Library Segments) Segment Manager

Layers and Views of a Computer System

Operating System Services การสร้างโปรแกรม การประมวลผลโปรแกรม การเข้าถึงข้อมูลบนอุปกรณ์ต่างๆ การควบคุมการเข้าถึงข้อมูลในไฟล์ การเข้าถึงระบบ การติดตามและตอบสนองข้อผิดพลาด บัญชีการทำงานต่างๆ ฯลฯ

O/S as a Resource Manager

Kernel ส่วนชั้นในสุดของระบบปฏิบัติการ (การจัดการหน่วยความจำ ระบบประมวลผลและอุปกรณ์ต่างๆ ) ซึ่งปฏิบัติงานตามที่โปรแกรมประยุกต์สั่งควบคุม ด้วยการอำนวยการปฏิบัติงานแก่ส่วนประมวลผลผ่านกลไก System Call และการสื่อสารระหว่างหน่วยประมวลผลภายใน

Shell ส่วนของระบบปฏิบัติการทีอำนวยการเข้าถึง Kernel ที่จะติดต่อกับผู้ใช้ อาจใช้ในความหมายส่วนของซอฟต์แวร์ที่เชื่อมต่อระหว่างระบบปฏิบัติการและโปรแกรมประยุกต์ใช้งานต่างๆ เช่น ชั้นของโปรแกรม Browser และ email ในการทำงานของการประมวลผล HTML ด้วย เดิมจะใช้ในความหมายส่วนเปลือกนอกเชื่อมต่อระหว่าง Kernel กับผู้ใช้ ตัวอย่างเช่น -ส่วน Command Line ผู้ใช้ต้องสั่งทีละคำสั่ง -ส่วน Graphic User Interface ผู้ใช้สั่งงานแบบ กราฟิกได้

Command Prompt on Window Vista CMD.EXE the command line interpreter on OS/2, Windows CE and on Windows NT-based operating systems (including Windows 2000, XP, Vista, and Server 2003). It is the analog of COMMAND.COM in MS-DOS and Windows 9x systems, or of the Unix shells used on Unix-like systems. Command Prompt on Window Vista

I/O Processor Structure Interruption Masking I/O Programming I/O Processor Structure Interruption Masking

ปัญหา Scheduling Setup time Early Computer System โปรแกรมติดต่อโดยตรงกับฮาร์ดแวร์ ปัญหา Scheduling Setup time Memory GIPS GFLOPS Disks Printer CPU minute ms. Tape1 Tape2

CPU I/O Channel#1 I/O Channel#2 Memory I/O Channel#4 I/O Channel#3 Disks#2 Disks#1 CPU I/O Channel#1 I/O Channel#2 Memory I/O Channel#4 I/O Channel#3 Tape Control Lines Printer Data Lines

I/O Channel Architecture

I/O Processor Memory ใช้ Main Memory ร่วมกับ CPU ใช้การอ้างอิงด้วยตำแหน่งโดยตรง Registers ไม่มี Register โดยเฉพาะ แต่มี Program Counter และ Data Counter ทำงาน Data ใช้ Logical Data แต่บาง I/O Devices อาจมีเปลี่ยนแปลงรูปแบบข้อมูล (Conversion) ด้วย

I/O Processor Unuse Instruction แบ่งคำสั่ง 3 กลุ่ม Data Transfers Device Control Branching CCW : Channel Command Words Op-Code Data Address Flag F Count 0 8 32 37 48 63 Unuse

Master-slave Relationship Communication Master-slave Relationship CPU จะเริ่ม start และ stop หรือ change การทำงานของ Channel ส่วน Channel จะติดต่อกลับมาที่ CPU โดยวิธี Interrupt START I/O TEST I/O HALT I/O TEST CHANNEL

Memory Layout for Resident Monitor

System Mask, Program Mask, Machine Check Mask Masking System Mask, Program Mask, Machine Check Mask ขณะที่ยังจัดการกับ Interrupt#1 ยังไม่เสร็จ อาจเกิด Interrupt#2 ขึ้นได้ ก็จะมีการเรียก Interrupt Queue Routine มาทำงานในการจัดคิวลำดับ ซึ่งขณะนั้นก็อาจเกิด Interrupt#3 ขึ้นอีกได้ในขณะที่จัดคิวของ Interrupt#2 ยังไม่เสร็จซึ่งอาจทำให้ .#2 สูญหายได้ จึงใช้การ MASK เพื่อหยุด .#3 ไว้ก่อน (รวมทั้ง .#4, .#5, .#6 อื่นๆ ด้วย)

Information Management หัวข้อเรื่อง I/O Programming Memory Management Processor Management Device Management Information Management Memory Management

Single Contiguous Partitioned Paging Segmentation Segment-Paged Memory Management Single Contiguous Partitioned Paging Segmentation Segment-Paged

Single Contiguous วิธีการ Main Memory วิธีการ Monitor User’s Program to Execute บรรจุ User’s Program ลงได้ทีละโปรแกรมเท่านั้น โปรแกรมจะมีขนาดใหญ่เกินขนาดหน่วยความจำหลักไม่ได้ Waste Area

Single Contiguous ปัญหา Waste Time (no multiprograming) Waste Memory Main Memory Monitor จัดการอย่างไม่มีประสิทธิภาพ User’s Program to Execute Waste Time (no multiprograming) Waste Memory Waste Area โปรแกรมจะมีขนาดใหญ่เกินขนาดหน่วยความจำหลักไม่ได้

Relocatable Partition Partition Allocation Fixed Partition or Static Partition Dynamic Partition Variable Partition Relocatable Partition IBM 360 MFT : Multiprograming with Fixed No. of Tasks MVT : Multiprog. with Variable No. of Tasks

แบ่งพื้นที่เป็นส่วนๆ เท่ากันตายตัว Partition Allocation ขนาดคงที่เท่ากัน (Fixed Partition) แบ่งพื้นที่เป็นส่วนๆ เท่ากันตายตัว SUPERVISOR Partition 1 ProcessQueue Partition 2 Partition 3

แบ่งพื้นที่เป็นส่วนๆ ไม่เท่ากัน-ตายตัว Partition Allocation ขนาดไม่เท่ากัน (Variable Partition) แบ่งพื้นที่เป็นส่วนๆ ไม่เท่ากัน-ตายตัว SUPERVISOR Queue 1 Partition 1 Partition 2 Queue 2 Queue 3 Partition 3

Partition Allocation ปัญหา ขนาดของโปรแกรมไม่พอดีกับขนาดของ Partition หากมีจำนวนที่ว่างนี้หลายๆ แห่ง อาจทำให้มีขนาดที่ใหญ่เพียงพอสามารถบรรจุโปรแกรมอื่นๆ ลงไปได้ เรียกว่า Fragmentation

แบ่งพื้นที่เป็นส่วนๆ แต่สามารถขยับชิดกันได้ Partition Allocation ขยับพื้นที่ได้ (Relocatable Partition) แบ่งพื้นที่เป็นส่วนๆ แต่สามารถขยับชิดกันได้ (Compact) SUPERVISOR JOB 1 พื้นที่ว่าง Process Queue JOB 3 พื้นที่ว่าง JOB 6

Partition Allocation ปัญหา ใช้ Relocation Register ค่าตำแหน่งที่มีการอ้างอิงเดิม จะเปลี่ยนเป็นค่าตำแหน่งใหม่อย่างไร? ใช้ Relocation Register Overhead of Relocation Fragmentation

Paged Allocation จัดแบ่ง Program Address Space ออกเป็นส่วนๆ เท่าๆ กัน เรียกว่า Page จัดแบ่ง Memory Address Space ออกเป็นส่วนๆ เท่าๆ กัน เรียกว่า Block สร้าง Page Table ขึ้นทำหน้าที่ Mapping ระหว่าง Page กับ Block ต้องบรรจุทุก Page ลงใน Memory จึงจะ Execute ได้

Paged Allocation Page 1 Page 2 Page 3 Page 4 ไม่ต้องอยู่ติดกันได้ เพจ (Paging) แบ่งโปรแกรมและ Memory เป็นส่วนๆที่เท่ากัน Program Address Space ไม่ต้องอยู่ติดกันได้ SUPERVISOR Page 1 Page 1 Page Table Page 2 Page 2 Page 3 Page 3 Used by Other Page 4 Page 4

Logical and Physical Addresses - Paging

Paged Allocation ปัญหา Page Size ที่เหมาะสมเพื่อลด Ext. Fragmentation เสียเวลาทำ Address Transformation Internal Fragmentation (Page-Breakage)

Page Table Structure

Translation Lookaside Buffer Every virtual memory reference causes two physical memory access Fetch page table entry Fetch data Use special cache for page table TLB

TLB Operation

TLB and Cache Operation

Segment Allocation จัดแบ่ง Program Address Space ออกเป็นส่วนๆ ที่สมบูรณ์ เรียกว่า Segment จัดแบ่ง Memory Address Space ออกเป็นส่วนๆ ตามขนาด Segment เรียกว่า Block สร้าง Segment Table ขึ้นทำหน้าที่ Mapping ระหว่าง Segment กับ Block ต้องมีครบทุก Segment อยู่ใน Memory

Segment Allocation แบ่ง Memory เป็นส่วนๆ ขนาดชุดคำสั่ง Main Sub 1 Program Address Space SUPERVISOR Main Main Segment Table Used by Other Sub 1 Sub 1 Sub 2 Sub 2 Data Data

การอ้างอิง Address แบ่งออกเป็น 2 ส่วน ชื่อของ Segment และ Offset Segment Allocation การอ้างอิง Address แบ่งออกเป็น 2 ส่วน ชื่อของ Segment และ Offset BETA Attributes 1 2 3 4 5 6

Segment Allocation ปัญหา

Segment Table or Page Table Virtual Memory ความจำเสมือน(Virtual Memory) แบ่งเป็น Pages หรือ Segments โปรแกรมมีขนาดใหญ่กว่า Memory จริงได้ SUPERVISOR Segment 1 Segment 4 Program Address Space Segment 3 Segment 2 Segment Table or Page Table Segment 5

ไม่จำเป็นต้องบรรจุทุก Page ลงใน Memory ก็สามารถ Execute ได้ Demand Paged ไม่จำเป็นต้องบรรจุทุก Page ลงใน Memory ก็สามารถ Execute ได้ ดังนั้นจึงบรรจุเฉพาะ Page แรกลงใน Memory ก่อน เมื่อมีการเรียกใช้ Page อื่น จึงค่อยเรียกมาบรรจุลงใน Memory ต่อไป (Page Fault) โดยมี Paging Algorithm และ Page Table เป็นกลไกสำหรับการทำงาน

Demand Paged Page Map Table Page No. Status . . . . . . Judgment Block No. 0 OK. 50 Times 3 1 - - - 2 OK. 4 Times 2 3 - - - 4 - - -

Demand Paged ปัญหา ระเบียบวิธีการตัดสินใจนำ Page เข้า-ออก (Paging Algorithm) กรณีวนสลับนำ Page เดิมเข้า-ออกไปมาตลอด (Thrashing) ยังมีพื้นที่ว่างหน่วยความจำเหลือใน Page สุดท้าย (Page-Breakage)

Segment-paged จัดแบ่ง Program Address Space ออกเป็นส่วนๆ ที่สมบูรณ์ เรียกว่า Segment จัดแบ่งแต่ละ Segment ออกเป็นส่วนๆ เท่าๆ กัน เรียกว่า Page สร้าง Segment Table ขึ้นทำหน้าที่ Mapping ระหว่าง Segment กับ Block Memory

Pentium II Address Translation Mechanism

Pentium II Segmentation Each virtual address is 16-bit segment and 32-bit offset 2 bits of segment are protection mechanism 14 bits specify segment Unsegmented virtual memory 232 = 4Gbytes Segmented 246=64 terabytes Can be larger – depends on which process is active Half (8K segments of 4Gbytes) is global Half is local and distinct for each process

Protection bits give 4 levels of privilege Pentium II Protection Protection bits give 4 levels of privilege 0 most protected, 3 least Use of levels software dependent Usually level 3 for applications, level 1 for O/S and level 0 for kernel (level 2 not used) Level 2 may be used for apps that have internal security e.g. database Some instructions only work in level 0

Segmentation may be disabled Two level page table lookup Pentium II Paging Segmentation may be disabled In which case linear address space is used Two level page table lookup First, page directory 1024 entries max Splits 4G linear memory into 1024 page groups of 4Mbyte Each page table has 1024 entries corresponding to 4Kbyte pages Can use one page directory for all processes, one per process or mixture Page directory for current process always in memory Use TLB holding 32 page table entries Two page sizes available 4k or 4M

PowerPC Memory Management Hardware 32 bit – paging with simple segmentation 64 bit paging with more powerful segmentation Or, both do block address translation Map 4 large blocks of instructions & 4 of memory to bypass paging e.g. OS tables or graphics frame buffers 32 bit effective address 12 bit byte selector =4kbyte pages 16 bit page id 64k pages per segment 4 bits indicate one of 16 segment registers Segment registers under OS control

PowerPC 32-bit Memory Management Formats

PowerPC 32-bit Address Translation

Information Management หัวข้อเรื่อง I/O Programming Memory Management Processor Management Device Management Information Management Processor Management

Multi-programming Time Sharing Scheduler Processor Management Multi-programming Time Sharing Scheduler

Functions รักษาสถานะของแต่ละ process

Simple Batch Systems Resident Monitor program Users submit jobs to operator Operator batches jobs Monitor controls sequence of events to process batch When one job is finished, control returns to Monitor which reads next job Monitor handles scheduling

Memory Layout for Resident Monitor

Instructions to Monitor Usually denoted by $ e.g. Job Control Language Instructions to Monitor Usually denoted by $ e.g. $JOB $FTN ... Some Fortran instructions $LOAD $RUN ... Some data $END

Desirable Hardware Features Memory protection To protect the Monitor Timer To prevent a job monopolizing the system Privileged instructions Only executed by Monitor e.g. I/O Interrupts Allows for relinquishing and regaining control

Multi-programmed Batch Systems I/O devices very slow When one program is waiting for I/O, another can use the CPU

Single Program

Multi-Programming with Two Programs

Multi-Programming with Three Programs

Utilization

Allow users to interact directly with the computer Time Sharing Systems Allow users to interact directly with the computer i.e. Interactive Multi-programming allows a number of users to interact with the computer

Medium Term Scheduling Part of the swapping function (later…) Usually based on the need to manage multi-programming If no virtual memory, memory management is also an issue

Short Term Scheduler Dispatcher Fine grained decisions of which job to execute next i.e. which job actually gets to use the processor in the next time slot

Process States

Process Control Block Identifier State Priority Program counter Memory pointers Context data I/O status Accounting information

PCB Diagram Program Control Block

Key Elements of O/S

Process Scheduling

Printer Race Condition สอง Process เรียกใช้ ข้อมูล หรือ Resource พร้อมกัน Supervisor Printer Print Request Process 1 Print Request Process 2

Race Condition ต่างคนต่างรอคอยซึ่งกันและกัน ไม่เกิดปัญหาการทำ P and V 1. Ar1, Ar2, Ar3, Art4, Br1, Br2, Br3, Br4 ไม่เกิดปัญหาการทำ P and V P = Request, V = Release 2. Br1, Br2, Br3, Br4, Ar1, Ar2, Ar3, Art4 ไม่เกิดปัญหาเช่นเดียวกัน 3. Ar1, Ar2, Br1, Ar3, Art4, Br2, Br3, Br4 Fig. 9.23

Information Management หัวข้อเรื่อง I/O Programming Memory Management Processor Management Device Management Information Management Device Management

Device Characteristic Techniques Device Management Device Characteristic Techniques

Characteristic Input Devices Output Devices I/O Devices or Storage Devices Serial Access Storage Direct Access Storage

Techniques Dedicated Shared Access Virtual SPOOLing (Simultaneous Peripheral Operation On-Line)

หัวข้อเรื่อง I/O Programming Memory Management Processor Management Device Management File System File System

File System Model File Directory

File System Model Accessing Methods Logical file System Basic File System File Organization Strategy Allocation Strategy Device Strategy I/O Control System

File Directory VTOC (Volume Table of Content) จะเป็นตัวช่วยบอกตำแหน่งของไฟล์ ขนาดของไฟล์และชื่อของไฟล์ที่ต้องการนั้น ๆ

Physical Record=1,000 Bytes

ตัวอย่าง VTOC ไฟล์ ALPHA มีขนาดความยาวข้อมูล 2,750 Bytes โดยมีแต่ละระเบียนข้อมูล (Logical Record) ขนาด 250 ไบต์

File Directory

Conclusion Operating Systems I/O Programming Memory Management Processor Management Device Management File System