Operating System

Chapter 1

09:17, 24 August 2008 .. 0 comments .. Link

บททึ่1 การให้รู้จักกับละบบกับประฎิบัติการ
Introduction Operating System
• What is an Operating System?
• Simple Batch System
• Multiprocessor Systems
• Time Sharing System
• Personal-Computer System
• Parallel  System
• Distributed Systems
• Real -Time Systems
ระบบปฏิบัติการคืออะไร (What is an Operating System)
•    โปรแกรมที่ทำงานอยู่ระหว่างผู้ใช้คอมพิวเตอร์(User)กับฮาร์ดแวร์คอมพิวเตอร์(Hardware)
•    จุดประสงค์ของระบบปฏิบัติการ
     - ดำเนินการโปรแกรมของผู้ใช้และแก้ปัญหาที่ยากๆ
     - ทำให้ระบบคอมพิวเตอร์ใช้งานได้ง่ายขึ้น
•    จัดการฮาร์ดแวร์ของคอมพิวเตอร์ให้สามารถใช้ได้อย่างมีประสิทธิภาพ
องค?ประกอบของระบบคอมพิวเตอร? (Computer System Components)
•    ฮาร์ดแวร์ (Hardware) ประกอบด้วยทรัพยากรต่างๆ ที่มีในระบบ ได้แก่ อุปกรณ์นำข้อมูลเข้า/ออก หน่วยประมวลผลกลาง และหน่วยความจำ นอกจากนี้ยังหมายความรวมถึง โปรแกรมภาษาเครื่อง
•    ระบบปฏิบัติการ (Operating system) เป็นโปรแกรมที่ทำงานเป็นตัวกลางระหว่างผู้ใช้เครื่องและฮาร์ดแวร์ โดยมีวัตถุประสงค์เพื่อจัดสภาพแวดล้อมให้ผู้ใช้ระบบสามารถปฏิบัติงานบนเครื่องคอมพิวเตอร์ได้
•    โปรแกรมประยุกต์ (Application program) คือซอฟต์แวร์หรือโปรแกรมที่ถูกเขียนขึ้นเพื่อการทำงานเฉพาะอย่างที่เราต้องการ เช่น งานส่วนตัว งานทางด้านธุรกิจ งานทางด้านวิทยาศาสตร์ โปรแกรมทางธุรกิจ เกมส์ต่างๆ ระบบฐานข้อมูล ตลอดจนตัวแปลภาษา
•    ผู้ใช้ (User) บุคลากรที่จะเป็นผู้จัดการและควบคุมระบบคอมพิวเตอร์ให้สามารถปฏิบัติงานได้อย่างราบรื่น คอยแก้ไขปัญหาต่าง ๆ ที่เกิดขึ้นกับระบบคอมพิวเตอร์

หน?าที่ของระบบปฏิบัติการ (Operating System Definitions)
o    จัดสรรทรัพยากร(Resources management) เพราะทรัพยากรของระบบมีจำกัด และมีหลายประเภท ระบบปฏิบัติการต้องบริการให้ผู้ใช้ ได้ใช้ทรัพยากรต่าง ๆ ให้เป็นไปอย่างต่อเนื่อง ตัวอย่างทรัพยากร ที่ระบบปฏิบัติการต้องจัดการ เช่น ซีพียู หน่วยความจำ ซีดีรอม เครื่องพิมพ์ เป็นต้น
o    ควบุคมดูแลอุปกรณ์ (Control devices) ระบบปฏิบัติการมีหน้าที่ควบคุมอุปกรณ์ต่าง ๆ ให้ทำงานสอดคล้องกับความต้องการ โดยไม่เกิดข้อผิดพลาด เช่นการควบคุมดิสก์ จอภาพ หรือซีดีรอม เป็นต้น ระบบปฏิบัติการจะรับคำสั่งจากผู้ใช้ และเรียกใช้ System call ขึ้นมาทำงาน ให้ได้ผลตามต้องการ
o    การติดต่อกับผู้ใช้ (User interface) ผู้ใช้สามารถสั่งให้คอมพิวเตอร์ทำงาน จึงเป็นหน้าที่ของระบบปฏิบัติการในเป็นตัวกลาง และเตรียมสภาพแวดล้อมต่าง ๆ ให้กับผู้ใช้ในการสั่งงานคอมพิวเตอร์ หลังจากนั้นจะใช้คำสั่งผ่านทาง System call เพื่อปฏิบัติสิ่งที่ผู้ใช้ต้องการ

ระบบงานแบ็ตซ์ (Batch system)
-    Operator เป็นผู้จัดเตรียมข้อมูลให้แก่ผู้ใช้และโปรแกรมเมอร์
-    ผู้ใช้และผู้เขียนโปรแกรมติดต่อกับระบบคอมพิวเตอร์ผ่านทาง Operator
-    เราสามารถนำข้อมูลเข้าโดยใช้ เช่น เทป บัตรเจาะรู เป็นต้น
-    การเรียงลำดับงานอัตโนมัต    ระบบงานแบ็ตนี้ Operator เรียงลำดับงานเข้าเป็นกลุ่มที่ให้อุปกรณ์หรือทรัพยากรที่คล้ายคลิงกัน
-    เริ่มแรกระบบแบ็ตควบคุมระบบด้วยจอคอมพิวเตอร์
-    ควบคุมการขนถ่ายข้อมูล
-    เมื่อทำงานเสร็จ Control Tranfer จะกลับสู่หน้าจอ
ในอดีต คอมพิวเตอร์จะทำงานได้ครั้งละ 1 งาน การสั่งงานคอมพิวเตอร์ให้มีมีประสิทธิภาพยิ่งขึ้น ทำได้โดยการรวมงานที่คล้ายกัน เป็นกลุ่ม แล้วส่งให้เครื่องประมวลผล โดยผู้ทำหน้าที่รวมงาน จะรับงานจากนักพัฒนาโปรแกรม มาจัดเรียงตามความสำคัญ และตามลักษณะของโปรแกรม จัดเป็นกลุ่มงาน แล้วส่งให้คอมพิวเตอร์ประมวลผล
Memory Layout for a Simple Batch System
 
Control  Cards(การ์ดควบคุม)
ปัญหาจาก Control  Cards
1.    โปรแกรมเมอร์ไม่สามารถทราบได้ว่า งานที่ได้รับคือภาษาอะไรและโปรแกรมที่ต้องประมวลผลอะไร
2.    โปรแกรมเมอร์ไม่สามารถแบ่งแยกงานได้
2.1    แยกงานเป็นลำดับหรือประเภท
2.2     ไม่ทราบว่าจะใช้โปรแกรมอะไร
แก้ปํญหา
โดยใช้บัตรเจาะรู(Punch Cards)

ตัวอย่างภาษาที่ใช้กับ Control Cards
การทำงานในลักษณะ Batch System ผุ้ใช้ไม่ได้ติดต่อโดยตรงกับระบบ เป็นเพียงแค่ผู้เตรียมข้อมูล เขียนโปรแกรมและข้อมูลสำหรับการควบคุมระบบ จึงมีภาษาที่เรียกว่า “ภาษาควบคุมงาน”(Job Control Language : JCL)
ตัวอย่างภาษา JCL
$JOB   (แสดงจุดเริ่มต้นของโปรแกรม)
$FTN  (คำสั่งที่บอกให้ Program Monitor เตรียม Program ตัวแปรภาษา FTN เพื่อแปรเป็นภาษาเครื่องและเก็บใน Memory)
$LOAD   (คำสั่งที่ให้ Program monitor อ่าน Program ที่เก็บอยุ่ใน Memory)
$RUN   (คำสั่งให้โปรแกรมเริ่มทำงานประมวลผล)
$DATA (คำสั่งให้เก็บข้อมูลเข้าสุ่ Memory)
$END   (คำสั่งสิ้นสุดการทำงาน)

Control Cards
Parts of resident monitor
-    อ่านและประมวลผลคำสั่งบน Control  Cards
-    โหลดโปรแกรมระบบและโปรแกรมประยุกต์เข้าหน่วยความจำ
-    อุปกรณ์   สามารถรู้ลักษณะต่างของคุณสมบัติของระบบได้
ปัญหา
ประสิทธิภาพช้า อุปกรณ์รับ-ส่งข้อมูลและCPU ทำงานไม่สัมพันธ์กัน
แก้ปัญหา
ประมวลผลแบบ Off-Line โดยใช้สื่อเก็บข้อมูลชนิด เทปแม่เหล็ก แทนที่บัตรเจาะรู

ระบบสพูลลิ่ง (Spooling) Simultaneous Peripheral Operating On-Line เป็น multiprogramming พื้นฐาน ทำให้ซีพียูทำงานเต็มประสิทธิภาพซึ่งแก้ปัญหาในระบบที่ CPU และ I/O ทำงานไม่สัมพันธ์กันเพราะทำให้สามารถทำงานได้ 2 งานพร้อมกัน
งานแรกคือประมวลผลในส่วนของซีพียู
งานที่สองคือการรับ-แสดงผลข้อมูล ซึ่งต่างกับ buffer ที่ซีพียู และหน่วยรับ-แสดงผลทำงานร่วมกัน
job pool ทำให้สามารถเลือกการประมวลผลตามลำดับก่อนหลังได้ โดยคำนึงถึง priority เป็นสำคัญ

ความสามารถระบบปฏิบัติการที่จำเป็นสำหรับ ระบบ Multi Programming(OS Feature Needs for Multoprogramming)
•    ระบบที่สนับสนุนงานของ I/O
•    การจัดการหน่วยความจำ(Memory Managerment)
•    การจัดตารางเข้าไว้ใช้ CPU (CPU Scheduling)
•    การจัดสรรการใช้งานอุปกรณ์

ระบบแบ่งเวลา (Time-sharing หรือ Multitasking)
ระบบแบ่งเวลา(Time Sharing) หรือ มัลติทาสกิ้ง(multitasking) เป็นศาสตร์ที่ขยายระบบมัลติโปรแกรมมิ่ง ที่ทำให้สามารถรันโปรแกรมได้หลายงาน โดยซีพียูจะทำหน้าที่สับเปลียนการรันงานไปมา แต่การสับเปลี่ยนทำด้วยความเร็วสูงทำให้ผู้ใช้มีความรู้สึกเหมือนอินเตอร์แอ็กทีฟโดยตรง(Interactive) กับโปรแกรมตัวของตนเอง
การติดต่อกับระบบดังกล่าวทำได้โดยผ่านเครื่องเทอร์มินอล(Terminal)ที่ประกอบด้วยอุปกรณ์รับข้อมูล เช่น เมาส์ คีย์บอร์ด และอุปกรณ์แสดงผล เช่น จอภาพ เครื่องพิมพ์ ผู้ใช้สามารถสั่งให้ระบบ หรือโปรแกรมทำงานได้ทันที

เป็นการขยายระบบ multiprogramming ทำให้สามารถสับเปลี่ยนงานของคนหลาย ๆ คนเข้าสู่ซีพียู ซึ่งการสับเปลี่ยนที่ทำด้วยความเร็วสูงจะทำให้ผู้ใช้รู้สึกเหมือนครอบครองซีพียูอยู่เพียงผู้เดียว
ระบบคอมพิวเตอร์ส่วนบุคคล (Personal Computer System)
เป็นระบบที่ใกล้ชิดกับเรามากที่สุดปัจจุบันคอมพิวเตอร์ส่วนบุคคลเป็นที่นิยมมากยิ่งขั้นโดยอุปกรณ์ที่รองรับก็มีราคาถูกลง และมีการพัฒนาอุปกรณ์ต่าง ๆ อย่างต่อเนื่อง ทั้งแป้นพิมพ์ เมาส์ จอภาพ หน่วยความจำ หน่วยประมวลผล เป็นต้น คอมพิวเตอร์ส่วนบุคคลนั้นให้ความสะดวกให้ด้านต่าง ๆ ทั้งด้านการใช้งานและการดูแล
 
Symmetric-multiprocessing การประมวลผลแบบสมมาตร หมายถึงการประมวลผลหลายโปรเซสเซอร์ที่ไม่มีโปรเซสเซอร์ตัวใดรับโหลดมากกว่าตัวอื่น
Asymmetric-multiprocessing การประมวลผลแบบไม่สมมาตร หมายถึงการมีโปรเซสเซอร์ตัวหนึ่งเป็นตัวควบคุม และแบ่งงานแต่ละแบบให้โปรเซสเซอร์แต่ละตัวตามความเหมาะสม
 
ระบบเรียลไทม์ (Real-time system)
จุดประสงค์อีกอย่างหนึ่งของ ระบบปฏิบัติการ คือ ระบบเวลาจริง(Real-time system) หมายถึงการตอบสนองทันที เช่นระบบ Sensor ที่ส่งข้อมูลให้คอมพิวเตอร์ เครื่องมือทดลองทางวิทยาศาสตร์ ระบบภาพทางการแพทย์ ระบบควบคุมในโรงงานอุตสาหกรรม ระบบหัวฉีดในรถยนต์ ระบบควบคุมการยิง ระบบแขนกล และเครื่องใช้ในครัวเรือนทั้งหมด
Real-time แบ่งได้ 2 ระบบ
1. Hard real-time system เป็นระบบที่ถูกรับรองว่าจะได้รับการตอบสนองตรงเวลา และหยุดรอไม่ได้
2. Soft real-time system เป็นระบบ less restrictive type ที่สามารถรอให้งานอื่นทำให้เสร็จก่อนได้


 


Leave a Comment

{ Last Page } { Page 1 of 6 } { Next Page }

About Me

Home
My Profile
Archives
Friends
My Photo Album

Links


Categories


Recent Entries

Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6

Friends




Power By : BlogKa.com - Free Blog Hosting