Chapter 1
บททึ่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 }
|