องค์ประกอบของคอมพิวเตอร์
นับ
ตั้งแต่วิวัฒนาการของคอมพิวเตอร์ในยุคแรก
ซึ่งเริ่มต้นจากเครื่องมือที่เป็นลักษณะเครื่องจักรกลและพัฒนาเป็นระบบ
อิเล็กทรอนิกส์เป็นต้นมา จนกระทั่งราวปี ค.ศ.1945 จัดได้ว่าเป็นยุคต้นแบบของหลักการทำงานของคอมพิวเตอร์ที่ดูเป็นระบบเป็นอย่างมาก ซึ่งบุคคลสำคัญคนนี้ก็คือ ดร.จอห์น ฟอน นอยมานน์ (Dr. john Von Neumann)
ได้ทำการออกแบบสถาปัตยกรรมคอมพิวเตอร์ที่สามารถทำการโปรแกรมและการประมวลผล
บนคอมพิวเตอร์โดยมีการจัดการที่เป็นระบบ
ซึ่งสถาปัตยกรรมนี้นอยมานน์ได้กำหนดว่าต้องมีหน่วยต่างๆ ดังนี้
1. หน่วยรับข้อมูล(Input) มีหน้าที่รับข้อมูลป้อนเข้าสู่ระบบ
2. หน่วยความจำหลัก(Main Memory) ทำหน้าที่จัดเก็บคำสั่งและข้อมูล (Data and Instruction) เพื่อป้อนให้กับซีพียูประมวลผลต่อไป
3. หน่วยประมวลผลกลาง ทำหน้าที่ในดารประมวลผล และคำนวณ
4. หน่วยจัดเก็บข้อมูลสำรอง ทำหน้าที่ในการจัดเก็บข้อมูลที่ต้องการ และสามารถนำข้อมูลที่จัดเก็บลงไปนั้นมาใช้งานตามความต้องการได้
5. หน่วยแสดงผล คือหน่วยแสดงผลลัพธ์ของข้อมูลที่ผ่านการประมวลผล
จาก
สถาปัตยกรรมระบบคอมพิวเตอร์ที่นอยมานน์กล่าวไว้ว่า
คอมพิวเตอร์ต้องมีหน่วยความจำหลักเพื่อใช้สำหรับจัดเก็บข้อมูลรวมทั้งจัด
เก็บชุดคำสั่ง
โดยซีพียูจะนำข้อมูลและชุดคำสั่งที่อยู่ภายในหน่วยความจำหลับมาทำการประมวล
ผล ซึ่งการประมวลผลของซีพียูจะเป็นในลักษณะรันทีละงาน (Sequential Execution) รวมถึงการอ้างอิงข้อมูลภายในหน่วยความจำต้องอ้างอิง (Addressable) และเข้าถึง (Access) ได้ด้วยหมายเลขแอดเดรส (Address) ซึ่งหลักการของนอยมานน์ ถือเป็นหลักการทางคอมพิวเตอร์ที่ใช้งานจนถึงทุกวันนี้
ระบบคอมพิวเตอร์ สามารถแบ่งเป็นองค์ประกอบส่วนสำคัญต่างๆ 3 ส่วนด้วยกันโดยแต่ละส่วนก็มีส่วนประกอบย่อยๆ ดังต่อไปนี้ คือ
1. ฮาร์แวร์ (Hardware)
- หน่วยรับข้อมูล(Input Unit)
- หน่วยประมวลผลกลาง (Central Processing Unit: CPU)
- หน่วยควบคุม(Control Unit)
- หน่วยคำนวณและตรรกะ (ALU)
- หน่วยความจำ(Memory Unit)
- หน่วยความจำหลัก(Main Memory)
- หน่วยแสดงผลข้อมูล (Output Unit)
รูปที 1.1 ดร.จอห์น วอน นอยมานน์
ซึ่งเป็บุคคลสำคัญในการกำหนด
รูปแบบสถาปัตยกรรมคอมพิวเตอร์
2.ซอฟต์แวร์ (Software)
- ซอฟต์แวร์ระบบ (System Software)
- ซอฟต์แวร์ประยุกต์ (Application Software)
3.บุคลากร (Peopleware)
- โปรแกรมเมอร์ (Programmers)
- นักวิเคราะห์ระบบ (System Analyst)
- ผู้จัดการระบบเครือข่าย (System or Network Managers)
- ผู้บริหารฐานข้อมูล (Database Administrators: DBA )
- เว็บมาสเตอร์ (Web Masters)
- ช่างเทคนิคคอมพิวเตอร์ (Computer Technicians)
- ผู้ใช้งาน (End Users)
|
ฮาร์ดแวร์ หมายถึงอุปกรณ์ต่างๆ ที่ประกอบกันเป็นตัวเครื่องคอมพิวเตอร์ซึ่งประกอบด้วยหน่วยรับข้อมูล (Input Unit) หน่วยประมวลผลกลางหรือซีพียู (Central Processing Unit: CPU )หน่วยความจำ (Memory Unit ) และหน่วยแสดงผลข้อมูล (Output Unit)
.หน่วยรับข้อมูล(Input Unit)
เป็นหน่วยที่ทำหน้าที่รับข้อมูลหรือโปรแกรมเข้าสู่เครื่อง ตัวอย่างหน่วยรับข้อมูลชนิดต่างๆ เช่น คีย์บอร์ด (Keyboard) เมาส์ (Mouse) จอยสติก ( Joystick ) สแกนเนอร์ ( Scanner ) จอภาพแบบสัมผัส (Touch Screen ) ปากกาแสง(Light Pen ) เป็นต้น
.หน่วยประมวลผลกลาง (Central Processing Unit: CPU )
จัด
เป็นหน่วยที่มีความสำคัญที่สุด
เปรียบเสมือนกับของมนุษย์ที่ทำหน้าที่รับคำสั่งจากอุปกรณ์อินพุตเข้ามาการ
ประมวลผลเพื่อให้ได้มาซึ่งผลลัพธ์
โดยภายในหน่วยประมวลผลกลางยังประกอบด้วยส่วนสำคัญต่าง ๆ ดังนี้
1. หน่วยควบคุม ( Control Unit )
เป็นหน่วยที่ทำหน้าที่ในการควบคุมการทำงานของคอมพิวเตอร์ทั้งระบบให้มีการประสานการทำงานได้อย่างถูกต้อง
2. หน่วยคำนวณและตรรกะ ( Arithmetic and Logic Unit: ALU )
เป็นหน่วยที่ทำหน้าที่ในการประมวลผลการคำนวณทางคณิตศาสตร์ เช่น การ บวก ลบ คูณ หาร และการเปรียบเทียบทางตรรกะ
.หน่วยความจำ ( Memory Unit )
เป็นอุปกรณ์ที่ใช้สำหรับจัดเก็บข้อมูลและโปรแกรม ซึ่งยังสามารถแบ่งออกเป็น 2 ชนิดด้วยกันคือ
1. หน่วยความจำหลัก ( Main Memory )
คอมพิวเตอร์ทุกเครื่องจำเป็นต้องมีหน่วยความจำหลัก เพื่อใช้สำหรับจัดเก็บข้อมูลแล
คำสั่ง ( Data and Instruction ) โดยซีพียูจะเรียกใช้หน่วยความจำหลักนี้เสมือนเป็นกระดาษทดเพื่อทำงานต่าง ๆ หน่วยความจำหลักยังสามารถแบ่งออกเป็น
1.1 หน่วยความจำแบบรอม ( Read Only Memory: ROM )
เป็น
หน่วยความจำที่เก็บข้อมูลและคำสั่งมาจากโรงงานผู้ผลิตโดยตรง
หน่วยความจำชนิดนี้ข้อมูลยังคงอยู่แม้ว่าจะไม่มีกระแสไฟฟ้าเลี้ยง
แต่ก็มีข้อเสียคือจะมีพื้นที่สำหรับจัดเก็บข้อมูลหรือโปรแกรมค่อนข้างจำกัด
ตัวอย่างหน่วยความจำแบบรอม เช่น รอมไบออส ( BIOS0 ) ที่บรรจุอยู่บนเมนบอร์ดไมโครคอมพิวเตอร์ทุกเครื่องที่ใช้สำหรับบูตเครื่อง
1.2 หน่วยความจำแบบแรม(Random Access Memory: RAM)
เป็น
หน่วยความจำแบบลบเลือน ข้อมูลจะสูญหายหมดเมื่อขาดกระแสไฟฟ้าเลี้ยง
หน่วยความจำแรมเป็นส่วนสำคัญในไมโครคอมพิวเตอร์
เพราะเป็นแหล่งเก็บโปรแกรมระบบปฏิบัติการ และโปรแกรมประยุกต์ต่างๆ
และจำเป็นต้องมีขนาดความจุที่มากขึ้นเป็นลำดับหากรันโปรแกรมที่มีขนาดใหญ่
เช่น โปรแกรมด้านมัลติมีเดีย
2. หน่วยความจำสำรอง(Secondary Storage)
เป็น
หน่วยจัดเก็บข้อมูล ซึ่งจำนำโปรแกรมหรือข้อมูลต่างๆ
จากหน่วยความจำหลักมาจัดเก็บลงบนอุปกรณ์ เช่น ดิสก์ ฮาร์ดดิสก์ หรือซีดีรอม
และสามารถนำข้อมูลเหล่านี้กลับมาใช้งานเมื่อต้องการได้
ตามปกติหน่วยความจำสำรองนี้จัดเป็นหน่วยความจำประเภทหนึ่งที่ไม่ถือว่าเป็น
ส่วนหนึ่งของการประมวลผล
แต่จะถือว่าเป็นส่วนหนึ่งของอุปกรณ์อินพุตเอาต์พุตมากกว่า
แต่ในกรณีฮาร์ดดิสก์ นอกจากจะเป็นอุปกรณ์จัดเก็บข้อมูลแล้ว
ระบบปฏิบัติการยังสามารถจำลองพื้นที่ว่างบนฮาร์ดดิสก์ให้เป็นเสมือนกับหน่วย
ความจำหลักเพื่อทำการประมวลผลข้อมูลที่มีขนาดใหญ่กว่าหน่วยความจำหลักได้
ซึ่งในกรณีนี้จะเรียกว่า หน่วยความจำเสมือน(Virtual Memory) โดยจะกล่าวในรายละเอียดต่อไป
หน่วยแสดงผลข้อมูล(Output Unit)
เป็นหน่วยที่ใช้สำหรับการแสดงผลลัพธ์ที่ได้จากการประผล ตัวอย่างอุปกรณ์แสดงผล ได้แก่ จอภาพ (Monitor) เครื่องพิมพ์ (Printer) ลำโพง (Speakers) เป็นต้น
ซอฟต์แวร์ ( software )
ซอฟต์แวร์
คือ ชุดคำสั่งหรือโปรแกรมที่เขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์ทำงาน
โดยพื้นฐานซอฟต์แวร์สามารถแบ่งออกเป็นซอฟต์แวร์ระบบ และซอฟต์แวร์
· ซอฟต์แวร์ระบบ (System Software )
เป็นซอฟต์แวร์ที่ใช้ควบคุมการทำงานของคอมพิวเตอร์ ซึ่งทำงานใกล้ชิดกับอุปกรณ์คอมพิวเตอร์มากที่สุด โดยซอฟต์แวร์ระบบยังแบ่งออกเป็น
1. ระบบปฏิบัติการ (Operating System )
เป็น
โปรแกรมที่สำคัญมาก
ทำหน้าที่ควบคุมการทำงานของคอมพิวเตอร์ทั้งหมดรวมถึงประสานการทำงานระหว่าง
อุปกรณ์และทรัพยากรต่าง ๆ
ในระบบให้สามารถดำเนินการเพื่อบรรลุสู่เป้าหมายที่ต้องการ
ตัวอย่างระบบปฏิบัติการ เช่น ระบบปฏิบัติการดอส ( DOS ),ระบบปฏิบัติการวินโดวส์ ( Windows ) และระบบปฏิบัติการลินุกซ์(Linux ) เป็นต้น
2. ตัวแปลภาษาคอมพิวเตอร์ (Translator Program )
เป็นโปรแกรมแปลภาษาระดับสูงให้เป็นภาษาเครื่องเพื่อคอมพิวเตอร์เข้าใจโดยตัวแปลภาษายังแบ่งออกเป็นคอมไพเลอร์ (Compiler )
ซึ่งจะแปลโปรแกรมทั้งโปรแกรมหากมีที่ผิดพลาดต้องแก้ไขจนถูกต้องและทำการ
คอมไพเลอร์ใหม่ ส่วนตัวแปลภาษาอีกตังหนึ่งคืออินเตอร์พรินเตอร์ (Interpreter ) ซึ่งจะแปลทีละบรรทัดหากบรรทัดใดมีข้อผิดพลาดก็จะแสดงข้อผิดพลาดออกมา
3. โปรแกรมอรรถประโยชน์ ( Utility program )
เป็น
โปรแกรมทีสร้างความสะดวกต่อการใช้งานเฉพาะอย่าง
ซึ่งมักเรียกว่าโปรแกรมยูทิลิตี้ จัดเป็นชนิดหนึ่งของโปรแกรมระบบ
ซึ่งในปัจจุบันระบบปฏิบัติการหลายชนิดได้มีการผนวกโปรแกรมยูทิลิตี้โปรแกรม
ด้วยกันมาพร้อมกับชุดระบบปฏิบัติการ เช่น ระบบปฏิบัติการวินโดวส์
จะมีโปรแกรมยูทิลิตี้ เช่น โปรแกรม Scan Disk, โปรแกรม Disk Defragmenter และรวมถึงโปรแกรมป้องกันไวรัสอย่าง Norton Utility หรือ McAfee Anti Virus เป็นต้น
รูปที่ 1.15 โปรแกรม ( Defragmentation )
รูปที่ 1.16 โปรแกรมป้องกันไวรัส
ซอฟต์แวร์ประยุกต์( Application Software )
คือ
โปรแกรมที่เขียนขึ้นดัวยภาษาระดับสูงเพื่อใช้งานเฉพาะอย่าง เช่น
โปรแกรมระบบบัญชี โปรแกรมระบบควบคุมสินคงคลัง
นอกจากนี้ซอฟต์แวร์ประยุกต์ยังหมายถึงโปรแกรมสำเร็จรูปที่ใช้งานด้านต่าง ๆ
เช่นโปรแกรมชุดไมโครซอฟต์ออฟฟิศ
โปรแกรมสำเร็จรูปที่ใช้กับงานด้านโรงงานอุตสาหกรรม หรือทางการแพทย์ เป็นต้น
บุคลากร (Peopleware )
บุคลากร
หมายถึงผู้ใช้งานคอมพิวเตอร์ที่สั่งให้เครื่องคอมพิวเตอร์ทำงาน
โดยบุคลากรทางคอมพิวเตอร์สามารถแบ่งแยกตามหน้าที่ที่รับผิดชอบดังรายละเอียด
ต่อไปนี้
· โปรแกรมเมอร์ (Programmers )
เป็นบุคลากรที่มีหน้าที่เขียนโปรแกรมสั่งให้คอมพิวเตอร์ทำงาน ซึ่งโปรแกรมเมอร์จะเขียนโปรแกรมตามนักวิเคราะห์ระบบได้ออกแบบไว้
· นักวิเคราะห์ระบบ (System Analyst )
เป็น
บุคลากรที่มีหน้าที่ศึกษาปัญหา
และหาแนวทางในการปรับปรุงแก้ไขระบบงานเดิมให้มีประสิทธิภาพยิ่งขึ้น
โดยนักวิเคราะห์ระบบจะทำการวิเคราะห์ระบบและออกแบบงานเพื่อสั่งให้
โปรแกรมเมอร์เขียนโปรแกรมตามที่ได้ออกแบบไว้
· ผู้จัดการระบบเครือข่าย ( System or Network Managers )
เป็น
บุคคลที่มีความรู้ทางระบบเครือข่ายเป็นอย่างดี
สามารถบำรุงรักษาระบบเครือข่ายในองค์กรให้สามารถดำเนินการได้อย่างเหมาะสม
และมีประสิทธิภาพ และในบางครั้งอาจเรียกตำแหน่งนี้ว่า ผู้บริหารระบบ (System or Network Managers ) หรือผู้บริหารเครือข่าย (Network Administrators )
· ผู้บริหารฐานข้อมูล (Database Administrators: DBA)
เป็นบุคคลที่มีความเชี่ยวชาญทางด้านฐานข้อมูล สามารถทำการออกแบบพัฒนาตารางข้อมูลต่าง ๆ การออกแบบฟอร์ม คิวรี ( Queries ) และรายงานต่าง ๆ เพื่อใช้ในหน่วยงานรวมถึงการใช้ชุดคำสั่งภาษา SQL ในการจัดการกับฐานข้อมูล และหากเครือข่าย
· เวบมาสเตอร์ (Web Masters)
เป็น
บุคคลที่มีความรู้ทางเทคโนโลยีอินเตอร์เน็ต การเขียนโฮมเพจ
และมีความรู้เกี่ยวกับภาษาจาวาและคอมพิวเตอร์กราฟฟิกส์
สามารถใช้เครื่องมือและโปรแกรมทางกราฟฟิกส์ คอมพิวเตอร์ได้เป็นอย่างดี
รวมถึงความสามารถในการออกแบบและพัฒนาเว็บไซต์
· ช่างเทคนิคคอมพิวเตอร์ (Computer Technicians)
เป็น
บุคคลที่มีความรู้ทางฮาร์ดแวร์คอมพิวเตอร์
สามารถแก้ไขปัญหาทางฮาร์ดแวร์ให้สามารถใช้งานได้ สามารถอับเกรดคอมพิวเตอร์
บำรุงรักษาอุปกรณ์ฮาร์ดแวร์และระบบเครือข่าย
รูปที่ 1.17 ช่องเทคนิคคอมพิวเตอร์
· ผู้ใช้งาน (End Users)
ผู้
ใช้ หรือยูสเซอร์
จะเป็นบุคคลหรือผู้ใช้งานปลายทางที่ปฏิบัติการกับเครื่องคอมพิวเตอร์ เช่น
การกรอกข้อมูล การเตรียมข้อมูลเพื่อทำการประมวลผล
และสั่งพิมพ์รายงานส่งให้กับฝ่ายบริหารใช้ประโยชน์ต่อไป
ผู้ใช้งานจะเป็นผู้ใช้งานโปรแกรมที่โปรแกรมเมอร์เป็นผู้เขียนจะต้องเข้าใจ
ลำดับการทำงานของเมนูต่าง ๆ เป็นอย่างดี ซึ่งโดยส่วนใหญ่
ผู้ใช้งานเหล่านี้จะสามารถใช้ระบบงานได้อย่างคล่องแคล่วและสมบูรณ์ด้วยการ
ผ่านการฝึกอบรมจากโปรแกรมเมอร์หรือครูผู้ฝึกอบรม
รูปที่ 1.18 ครูผู้ฝึกอบรมกำลังอบรมการใช้งาน
โปรแกรมให้กับยูเซอร์
ความหมายของระบบปฏิบัติการ
จาก
องค์ประกอบระบบคอมพิวเตอร์ข้างต้น
ก็จะเห็นได้ว่าระบบปฏิบัติการถือเป็นส่วนสำคัญส่วนหนึ่งในระบบคอมพิวเตอร์
ซึ่งระบบปฏิบัติการจัดเป็นโปรแกรมระบบที่ใช้สำหรับควบคุมการทำงานของ
คอมพิวเตอร์รวมทั้งการจัดสรรทรัพยากรในระบบให้เป็นไปอย่างมีประสิทธิภาพดัง
นั้นระบบปฏิบัติการ หรือมักเรียกสัน
ๆว่าโอเอสนั้นจึงหมายถึงชุดโปรแกรมที่ทำหน้าที่ในการควบคุม
ดูแลการดำเนินการต่าง ๆของระบบคอมพิวเตอร์
ประสานการทำงานระหว่างทรัพยากรต่าง ๆ
ในระบบทั้งในส่วนที่เป็นเซอฟต์แวร์และส่วนที่เป็นฮาร์ดแวร์ให้สามารถดำเนิน
การทำงานร่วมกันได้อย่างเหมาะสมโดยมีเป้าหมายเพื่อเป็นตัวกลางที่ช่วยในการ
ประสานการทำงานของฮาร์ดแวร์และเซอฟต์แวร์ด้วยการตอบสนองต่อผู้ใช้งาน
ทำให้ผู้ใช้งานสามารถโต้ตอบกับคอมพิวเตอร์ได้อย่างสะดวกและเป็นไปอย่าง
ประสิทธิภาพโดยผู้ใช้งานไม่จำเป็นต้องรู้จักว่าภายในคอมพิวเตอร์ต้องทำ
งานอย่างไรปล่อยให้เป็นหน้าที่ของตัวระบบปฏิบัติการเป็นผู้จัดการแทน
ดังนั้นระบบปฏิบัติการก็เปรียบเสมือนกับรัฐบาลที่คอยดูแลองค์ประกอบของระบบคอมพิวเตอร์จัดหาหนทางที่เหมาะสมในการใช้ทรัพยากร ( Resource ) ร่วมกันที่มีอยู่อย่างจำจัดเพื่อตอบสนองความต้องการของผู้ใช้ให้เกิดประโยชน์สูงสุด
รูปที่ 1.19 ระบบปฏิบัติการเป็นตัวกลางในการประสานงานระหว่างฮาร์ดแวร์กับ
แอปพลิเคชันซอฟต์แวร์เพื่อสร้างความสะดวกต่อผู้ใช้งาน
วิวัฒนาการของระบบปฏิบัติการ
1. การป้อนงานแบบกลุ่มด้วยมือ ( Manual Batch System )
ในช่องราวปี ค.ศ. 1940
คอมพิวเตอร์ในยุคนั้นเป็นเพียงเครื่องคอมพิวเตอร์เปล่า ๆ
ที่ไม่มีระบบปฏิบัติการผู้ใช้งานต้องทำการเขียนโปรแกรมภาษาเครื่อง
รวมถึงการควบคุมเครื่องการตรวจสอบ การเขียนโปรแกรม
ซึ่งสิ่งเหล่านี้ผู้ใช้งานต้องจัดการเองทั้งสิ้น
จึงทำให้ต้องเสียเวลาไปกับการตระเตรียมงานเบื้องต้น เหล่านี้เป็นอย่างมาก
ดังนั้น
จึงจำเป็นต้องว่าจ้างพนักงานควบคุมเครื่องที่มีความชำนาญซึ่งเรียกว่า
พนักงานควบคุมเครื่องหรือโอเปอเรเตอร์ ( Operator ) เพื่อ
ลดเวลาที่ต้องเสียไปกับการจัดการดังกล่าวไม่ว่าจะเป็นการเตรียมงาน
การรวบรวมงาน การแปลงสนที่ต้องใช้ตัวแปลภาษา
ซึ่งเป็นการป้อนงานแบบกลุ่มด้วยมือ ( Manual Batch System ) โดยระบบงานดังกล่าวนี้ยังไม่มีการใช้โปรแกรมระบบปฏิบัติการ
2. การประมวลผลแบบกลุ่มโดยอัตโนมัติ ( Automatic Batch Processing )
ต่อมาในช่วงราวปี ค.ศ. 1950 ได้มีการพัฒนาโปรแกรมระบบปฏิบัติการหรือโอเอสรุ่นแรกออกมาใช้งานกับเครื่อง IBM – 701 เรียก
ว่าการประมวลผลแบบกลุ่มโดยอัตโนมัติอยู่ในหน่วยความจำของเครื่องคอมพิวเตอร์
ตลอดเวลา
และจะส่งมอบการควบคุมเครื่องให้กับโปรแกรมของผู้ใช้ทีละโปรแกรมเรียงลำดับ
ต่อไป และได้เกิดภาษาควบคุมงาน ( Job Control Language: JCL ) ขึ้นจากรูปที่ 1.21 เป็นการประมวลผลแบบกลุ่มโดยอัตโนมัติ โดยที่
( a ) โปรแกรมเมอร์บัตรเจาะรูเพื่อเข้าสู่เครื่อง 1401 ซึ่งเป็นเครื่องอ่านบัตรเจาะรู
( b ) เครื่อง 1401 อ่านข้อมูลแบตช์จากบัตรเพื่อบันทึกลงในเทปแม่เหล็ก
( c ) โอเปอร์เรเตอร์จัดเตรีอมเทปแม่เหล็ก ( Input Tape ) ไปยังเครื่อง 7094
( d ) เครื่อง 7094 ทำการประมวลผลข้อมูลจากเทปแม่เหล็กที่อ่านเข้ามาไปยังเทปแม่เหล็กอีกชุดหนึ่งซึ่งเป็นผลลัพธ์ที่ได้จากการประมวลผล
( e ) โอเปอร์เรเตอร์นำเทปที่ผ่านการประมวลผล ( Output Tape ) ไปยังเครื่อง 1401
( f ) เครื่อง 1401 ทำการอ่านข้อมูลจากเทปและพิมพ์ลงบนเครื่องพิมพ์
จากกระบวน
การทำงานดังกล่าว
ก่อให้เกิดปัญหาตามมาก็คือเวลาที่จำเป็นต้องสูญเสียไปกับการป้อนงานต่าง ๆ
ไม่ว่าจะเป็นการเตรียมบัตรเจาะรูเพื่อเข้าไปยังเครื่องอ่านบัตร
การเตรียมม้วนเทปเพื่อบรรจุลงในเครื่องอ่าน/บันทึกเทป
และรวมถึงการนำผลลัพธ์เหล่านั้นออกจากเครื่องซึ่งสิ่งเหล่านี้ล้วนเป็น
กระบวนการทำงานที่ยังจำเป็นต้องใช้แรงงานคน
จึงทำให้ซีพียูอยู่ในสภาวะนิ่งเฉย ซึ่งซีพียูในยุคนั้นถือเป็นสิ่งที่มีค่า
ราคาแพง แต่กลับไม่ได้ถูกนำไปใช้งานได้อย่างเต็มที่
จากปัญหาที่ซีพียูไม่สามารถใช้งานได้อย่างเต็มที่
เพราะต้องสูญเสียเวลาไปกับการจัดเตรียมอุปกรณ์
จึงทำให้เกิดแนวทางในการแก้ไขปัญหาดังกล่าว คือ
2.1 การทำงานแบบบัฟเฟอร์ ( Buffering )
แนว
ความคิดนี้
ต้องการให้หน่วยรับข้อมูลและแสดงผลทำงานในลักษณะขนานกันกับหน่วยประมวลผล
กลางใช้มากที่สุดเท่าที่จะเป็นไปได้ กล่าวคือ
ขณะที่ซีพียูประมวลผลข้อมูลชุดหนึ่งอยู่
หน่วยรับข้อมูลก็จะอ่านข้อมูลถัดไปเข้ามาไว้ในหน่วยความจำ
ซึ่งก็คือบัฟเฟอร์ ( Buffer ) cแต่
อย่างไรก็ตามซีพียูก็ยังทำงานหรือประมวลผลได้รวดเร็วกว่าอุปกรณ์หลายพันเท่า
ถึงแม้ว่าจะมีบัฟเฟอร์ก็ตาม
เนื่องจากว่าเวลาของซีพียูกับอุปกรณ์ไม่สัมพันธ์กันนั่งเอง
กล่าวคือซีพียูก็ยังคงอยู่ในสถานะว่างอยู่ดี
โดยหากมีการติดต่อกับอุปกรณ์รับข้อมูลและอุปกรณ์แสดงผลมาก ๆ ( I/O Bound ) ก็จะทำให้ซีพียูว่าง หรือทำงานน้อย ในขณะที่หากซีพียูถูกใช้งานมาก ๆ ( CPU Bound ) หน่วยรับข้อมูลและหน่วยแสดงผลข้อมูลก็จำเป็นต้องรอซีพียู
2.2 การประมวลผลแบบออฟไลน์ ( Off-Line )
การ
ประมวลผลแบบออฟไลน์เริ่มขึ้นเมื่อมีการใช้สื่อจัดเก็บข้อมูลชนิดเทปแม่เหล็ก
เข้ามาแทนบัตรเจาะรูซึ่งระบบปฏิบัติการจำเป็นต้องสามารถควบคุมและจัดการ
บันทึกหรืออ่านข้อมูลจากเทปแม่เหล็กได้
แต่กระบวนการดังกล่าวจำเป็นต้องมีขั้นตอนการทำงานมากขึ้นและในการจัดเก็บ
ข้อมูลลงบนเทปแม่เหล็กก็ต้องรอให้มีหลาย ๆ
โปรแกรมเสียก่อนแล้วจึงค่อยนำเข้าเครื่องคอมพิวเตอร์ครั้งเดียว
ช่วงเวลาดังกล่าวจึงทำให้ผู้ใช้ต้องรอคอยถึงแม้ว่าจะใช้ประโยชน์จากซีพียูดี
ก็ตาม
2.3 การทำงานแบบสพูลลิ่ง ( Spooling )
ต่อ
มาเมื่อเทคโนโลยีสื่อบันทึกข้อมูลได้มีการพัฒนาขึ้น
โดยได้มีการใช้จานแม่เหล็กเป็นสื่อบันทึกข้อมูล
ระบบปฏิบัติการก็เริ่มสนับสนุนและใช้งานกับอุปกรณ์ทั้งจานแม่เหล็กและเทปแม่
เหล็กมากขึ้น ด้วยเหตุผลสำคัญคือ จานแม่เหล็กนั้นสามารถเข้าถึง ( Access ) ข้อมูลได้โดยตรง จึงสามารถเข้าถึงข้อมูลเฉพาะส่วนงานที่ต้องการใช้งานได้ทันที ซึ่งแตกต่างจากเทปแม่เหล็กที่ทำงานแบบเรียงลำดับ ( Sequential ) โดยหากข้อมูลที่ต้องการอยู่ส่วนกลางหรือปลายเทป ก็ต้องอ่านข้อมูลส่วนหน้าก่อน
งาน
ที่เข้ามาในสพูล
ระบบปฏิบัติการสามารถเลือกงานเข้าไปประมวลผลได้ตามความเหมาะสม เช่น
อาจจะใช้หลักการตามลำดับงาน
ลำดับงานตามความสำคัญจึงทำให้เกิดระบบการจัดลำดับตารางงาน ( Job Scheduling ) ซึ่งจัดเป็นพื้นฐานในการพัฒนาระบบปฏิบัติการแบบมัลติโปรแกรมมิ่ง ( Multiprogramming ) เนื่อง
จากว่าการทำงานแบบสพูลลิ่งนี้สามารถทำการเหลื่อมการประมวลผลของงานหนึ่งกับ
การรับหรือแสดงผลข้อมูลของอีกงานหนึ่งได้
โดยซีพียูจะอ่านข้อมูลจากจานแม่เหล็ก
และเมื่อต้องการพิมพ์ผลลัพธ์ที่ได้จากการประมวลผล
แทนที่จะสั่งพิมพ์ออกเครื่องพิมพ์โดยตรง
ก็จะทำการสั่งพิมพ์เพื่อเก็บไว้ในดิสก์ก่อน
แล้วจึงค่อยส่งพิมพ์ไปยังเครื่องพิมพ์หลัง
การทำงานในลักษณะนี้ก็คือการทำงานแบบสพูลลิ่งนั่นเองโดย Spooling ย่อมาจาก Simultaneous Peripheral Operation On-Line ดัง
นั้นหลักการทำงานของสพูลลิ่งก็จะทำให้สามารถอ่านข้อมูลเข้าไปเก็บไว้ในดิสก์
พร้อม ๆ กับการพิมพ์ผลลัพธ์จากดิสก์ไปยังเครื่องพิมพ์
และในขณะเดียวกันก็อาจมีงานอื่น ๆ ที่ส่งให้ซีพียูประมวลผลต่อไปอีกก็ได้
หลักการดังกล่าวจึงทำให้การประมวลผลของซีพียูมีประสิทธิภาพยิ่งขึ้นกว่าเดิม
มาก
3. ระบบมัลติโปรแกรมมิ่ง ( Multiprogramming )
ถึง
แม้ว่าการประมวลผลแบบสพูลลิ่ง
จะเป็นพื้นฐานการทำงานของระบบมัลติโปรแกรมมิ่งอย่างง่าย
โดยมีโปรแกรมทำงานขนานกันอยู่สองโปรแกรมสพูล และโปรแกรมของผู้ใช้
แต่ก็ไม่อาจนำไปใช้ประโยชน์จากองค์ประกอบต่าง ๆ
ของคอมพิวเตอร์ได้อย่างเต็มที่เช่น
ในกรณีที่โปรแกรมของผู้ใช้ทำงานร่วมรับเทปแม่เหล็กก็จะเกิดความเหลื่อมล้ำ
ด้านความเร็วระหว่างซีพียูเช่นเคย หรือในกรณีที่เป็นระบบผู้ใช้แบบคนเดียว ( Single User ) ก็คงไม่สามารถทำให้ซีพียูรวมทั้ง I/O ทำ
งานได้ตลอดเวลา
ดังนั้นจึงได้มีการพัฒนาหลักการของระบบมัลติโปรแกรมมิ่งเพื่อลดปัญหาดัง
กล่าว และส่งผลให้การประมวลผลมีประสิทธิภาพยิ่งขึ้นกว่าเดิม
ระบบ
ปฏิบัติการในรูปแบบของมัลติโปรแกรมมิ่งที่มีงานบนซีพียูตัวเดียว
จะสามารถทำการควบคุมให้สามารถรับงานหรือโปรแกรมหลายๆ
โปรแกรมเข้าไปในหน่วยความจำหลักและโปรแกรมหลายๆ
โปรแกรมก็พร้อมที่จะถูกประมวลผลโดยซีพียูพร้อมๆ กัน แต่คำว่าพร้อมๆ
กันในที่นี้มิได้หมายถึงในเวลาเดียวกัน กล่าวคือระบบปฏิบัติการจะทำ
การเลือกโปรแกรมใดโปรแกรมหนึ่งส่งให้ซีพียูประมวลผลไปเรื่อยๆ
จนกระทั่งโปรแกรมนั้นจำเป็นต้องรอหรือหยุดชั่วคราวเพื่อรอเหตุการณ์ใด
เหตุการณ์หนึ่ง(Interrupt)
เช่น การหยุดรอให้ใส่เทปแม่เหล็กเข้าไปในตู้เทป
ซึ่งในช่วงเวลานั้นซีพียูจะไม่อยู่นิ่งเฉยอีกต่อไป
แต่ระบบปฏิบัติการจะทำการคัดเลือกงานอื่นๆ
ที่พร้อมเข้ามาประมวลผลในซีพียูเป็นลำดับต่อไป
และซีพียูก็จะมีการสลับเปลี่ยนงานไปเรื่อยๆ
โดยงานแรกที่ประมวลผลค้างไว้ก็จะนำกลับมาประมวลผลใหม่จนกระทั่งสำเร็จ
รูปที่ 1.25 ลักษณะการทำงานแบบมัลติโปแกรมมิ่ง(Multiprogramming) หรือระบบมัลติยูสเซอร์(Multiuser)
ใน
ความเป็นจริงกระบวนการทำงานในรูปแบบของมัลติโปรแกรมมิ่งนั้น
ไม่ต่างจากสมองของมนุษย์เราเลย
เราจะพบว่าสมองของเราจะทำงานในลักษณะมัลติโปรแกรมมิ่งอยู่ตลอดเวลา
ดังตัวอย่างเช่น สมมติว่า ในขณะที่เรากำลังอ่านหนังสืออยู่
ซึ่งในขณะนั้นสมองของเรากำลังได้รับความสนุกสนานกับกับเรื่องราวในหนังสือ
เล่มนั้นอยู่ ขณะนั้นเองก็มีเสียงดังกริ๊ง ๆ ๆ
หูของเราได้ยินเสียงกริ๊งนั้นและส่งไปยังสมองเพื่อวิเคราะห์แล้วก็รู้ว่า
นั่นเป็นเสียงของโทรศัพท์สมองของเราก็สั่งการเราว่าคงต้องหยุดอ่านหนังสือ
เล่มนี้ชั่วคราวก่อนเพื่อไปรับโทรศัพท์ก่อนหลังจากที่ได้รับพูดคุยกันเป็น
ที่เรียบร้อยแล้ว ก็กลับมาอ่านหนังสือต่อ พออ่านต่อไปสักพัก
กระเพาะอาหารของเราก็เกิดกรดและลมขึ้นเล็กน้อย ส่งไปยังสมองตีความ
นั่นก็คือเราเริ่มหิวแล้วนะ
และในความเป็นจริงในขณะที่เราอ่านหนังสืออยู่นั้น
สมองของเราก็อาจจะนำเรื่องอื่นๆ มาให้ขบคิดปะปนอยู่เรื่อยๆ ก็เป็นได้
ดังนั้นจะเห็นได้ว่า ในชีวิตประจำวัน
สมองมนุษย์ซึ่งเปรียบเสมือนกับซีพียูได้ทำงานในลักษณะมัลติโปรแกรมมิ่งอยู
ตลอดเวลาอยู่แล้ว
ระบบ
มัลติโปรแกรมมิ่งนี้
จังได้ว่าเป็นต้นกำเนิดของศาสตร์ทางระบบปฏิบัติการก็ว่าได้แต่ระบบมัลติ
โปรแกรมมิ่งเป็นระบบที่ค่อนข้างสลับซับซ้อน กล่าวคือ การที่จะทำงานหลายๆ
งานพร้อมๆ กันนั้น ระบบปฏิบัติการต้องคอยทำการควบคุม
และจัดการกับองค์ประกอบต่างๆ เช่น
การจัดสรรเนื้อที่ในหน่วยความจำหลักทีมีอยู่จำกัดเพื่อใช้กับงานนี้
การสับหลีกงาน(Switching)
เมื่อมีงานหลายๆ งานรอการประมวลผลอยู่
และยังรวมถึงการจัดการกับอุปกรณ์รอบข้างให้สามารถดำเนินงานได้อย่างมี
ประสิทธิภาพ
ซึ่งความต้องการในทรัพยากรองแต่ละโปรแกรมนั้นอาจมีความต้องการที่ตรงกัน
ต่างคนต่างต้องการทรัพยากรนี้
จึงทำให้การจัดการอาจสับสนและเกิดความขัดแย้งได้
ซึ่งเป็นสาเหตุของการเกิดภาวะติดตาย(Deadlock) หรือ
วงจรอับ ส่งผลให้โปรแกรมไม่สามารถดำเนินการใดๆ ต่อไปได้อีก
แต่ทั้งนี้ระบบปฏิบัติการก็จำเป็นต้องคอยตรวจสอบและแก้ไขการเกิดภาวะติดตาย
นี้ด้วย ซึ่งรายละเอียดของเนื้อหาภาวะติดตายนี้ จะกล่าวไว้ในบทที่ 4
ดัง
นั้นจะเห็นได้ว่าระบบปฏิบัติการในรูปแบบของมัลติโปรแกรมมิ่งนี้
เหมาะสำหรับงานประเภทที่ใช้ซีพียูไม่มาก
กล่าวคืองานส่วนใหญ่จะอยู่ที่อุปกรณ์รอบข้าง(Peripheral) สักส่วนใหญ่ เช่น จานแม่เหล็ก เทปแม่เหล็ก รวมถึงเทอร์มินัลต่างๆ ซึ่งเรียกว่าการใช้อุปกรณ์อินพุตเอาต์พุตมากๆ (I/O Bound)
โดยงานประเภทนี้ ได้แก่ งานธนาคาร การเงิน งานซื้อขายสินค้า เป็นต้น
ซึ่งหากงานส่วนใหญ่ใช้ซีพียูไม่มากแต่จะทำงานส่วนใหญ่ที่อุปกรณ์รอบข้าง
ก็จะสามารถใช้ประโยชน์จากซีพียูได้อย่างเต็มที่นั่นเอง
โดยหากงานส่วนใหญ่มีความต้องการใช้ซีพียูมากๆ พร้อมๆ
กันในขณะนั้นก็จะส่งผลให้กับเวลาตอบสนอง (Response Time)
ที่นานเกินควร ดังนั้นหากลักษณะงานที่จำเป็นต้องใช้ซีพียูมากๆ
ก็คงพิจารณาชนิดของระบบปฏิบัติการแบบแบ่งเวลาซึ่งจะกล่าวในหัวข้อถัดไป
4. ระบบแบ่งเวลา ( Time-Sharing )
จากระบบดังกล่าวข้างต้นที่ได้กล่าวมาแล้วนั้น ส่วนใหญ่เป็นระบบการประมวลผล
แบบ
แบตช์ กล่าวคือ
เป็นระบบที่เหมาะสมกับการประมวลผลข้อมูลขนาดใหญ่พร้อมกันทีเดียวซึ่งถึงแม้
ว่าจะใช้ประโยชน์จากซีพียูได้อย่างเติมที่ แต่ก็มีการโต้ตอบ ( Interactive ) กับ
ผู้ใช้งานค่อนข้างน้อย
โดยผู้ใช้เพียงแต่ส่งงานไปประมวลผลแล้วกลับมานำผลลัพธ์ทันที
ดังนั้นวิธีการดังกล่าว จำเป็นต้องมีเวลาการตอบสนอง ( Response Time ) ทีสั้นความจริงแล้วระบบแบ่งเวลาเป็นการนำศาสตร์ของระบบมัลติโปรแกรมมิ่งมาพัฒนา ต่อ โดยการทำงานแบบแบ่งเวลาหรือ Time Sharing นั้น บางครั้งอาจเรียกว่าระบบมัลติทาสกิ้ง ( Multitasking ) ซึ่งจะมีการจัดลำดับตารางเวลาการใช้งานซีพียู( CPU Scheduling ) ของงานแต่ละงาน โดยงานที่กำลังประมวลผลจากซีพียู จะเรียกว่าโปรเซส โดยโปรเซสต่าง ๆ จะใช้เวลาของซีพียูในช่องเวลาสั้น ๆ เพื่อประมวล เมื่อครบเวลาก็จะทำการโปรเซสงานอื่น ๆ
สลับ ไปมาระหว่างโปรแกรมทั้งหลายที่เข้ามาประมวลผล และเนื่องจากการประมวลผลของซีพียูมีความรวดเร็วมากจึงดูเหมือนว่าซีพียู ประมวลผลงานพร้อม กัน ทั้ง ๆ ที่กำลังทำงานที่ละงานสลับไปมาในลักษณะ Sequential Execution ดังนั้นลักษณะการทำงานของซีพียูที่จะต้องสลับทำงานของแต่ละโปรเซสดูเหมือนว่าซีพียูจะถูกใช้งานอย่างมาก ๆ ซึ่งเรียกว่า CPU Bound นั่นเอง
รูปที่ 1.26 ลักษณะการทำงานแบบ Single Tasking
รูปที่1.27 ลักษณะการทำงานแบบ Multitasking
จากรูปที่ 1.26 และรูปที่ 1.27 เป็นการเปรียบเทียบลักษณะการทำงานแบบ Single Tasking และลักษณะการทำงานแบบ Multitasking
อย่าง
ไรก็ตามในการพิจารณาโปรเซสที่จะได้รับการประมวลผลในลำดับต่อไปนั้น
อาจมีการพิจารณาว่างานใดมาก่อนควรได้รบการประมวลผลก่อน ซึ่งเป็นในลักษณะแบบ First-Come-First-Served หรืออาจพิจารณาจากลำดับความสำคัญของงาน ( Piority )
ก็ได้แต่ระบบแบ่งเวลานี้ก็ข้อเสียเช่นกัน กล่าวคือ
ในกรณีที่ซีพียูต้องรองรับงานที่เข้ามาประมวลผลมากเกิน
ซึ่งทำให้การโต้ตอบกับระบบของผู้ใช้งานอาจมีอาการสะดุดบ้าง เช่น
ถ้าซีพียูที่มีความเร็วในการประมวลผลหนึ่งล้านคำสั่งต่อวินาที
และในช่องเวลานั้นมีผู้ใช้งานอยู่ 10 คนแต่ละหนึ่ง
วินาที
ก็ทำให้ผู้ใช้งานแต่ละคนมีความรู้สึกว่ากำลังทำงานโต้ตอบกับคอมพิวเตอร์
เพียงคนเดียว เพราะการโต้ตอบไม่มีการสะดุดแต่อย่างใด
แต่ถ้ามีผู้ใช้ระบบเป็นจำนวนมากอัตราการตอบสนองก็จะลดลง
การโต้ตอบอาจสะดุดบ้างเนื่องจากต้องแบ่งเวลากระจายการบริการให้กับผู้ใช้งาน
จำนวนมากขึ้นนั่นเอง
5 ระบบตอบสนองการใช้งานแบบฉับพลัน ( Real-Time System ) เป็น
รูปแบบการใช้ระบบคอมพิวเตอร์ที่มีเรื่องของเวลาเข้ามาข้องเกี่ยวกับการประ
มวลผลรวมถึงการโอนถ่ายข้อมูล ซึ่งระบบดังกล่าวจำเป็นต้องได้รับการตอบสนอง ( Response Time ) ที่น้อยที่สุดเหมาะกับงานในลักษณะออนไลน์ ( On-Line ) ระบบ
งานดังกล่าวมักนำไปใช้งานทางวิทยาศาสตร์งานทางการแพทย์
ระบบควบคุมโรงงานอุตสาหกรรม ระบบควบคุมหัวฉีดน้ำมัน และอาวุธสงคราม เป็นต้น
ซึ่งระบบดังกล่าวจำเป็นต้องใช้ประสิทธิภาพของตัวโปรเซสเซอร์เป็นสำคัญ
ซึ่งจำเป็นต้องได้รับการออกแบบเป็นอย่างดี
โดยระบบดังกล่าวจำเป็นต้องพิจารณาถึงขนาดความเร็วการทำงานของเครื่อง
ความเร็วของอุปกรณ์ และรวมถึงความเร็วของการสื่อสารข้อมูล
ซึ่งทั้งหมดจะส่งผลโดยตรงกับอัตราการตอบสนองให้ช้าหรือเร็วได้
และโดยปกติการตอบสนองแบบฉับพลันนั้นหลังจากที่เราทำการส่งข้อมูลเข้าเครื่อง
เพื่อประมวลผล
คำตอบที่แสดงบนจอภาพจะต้องแสดงภายในเสี้ยววินาทีหรือหากนานไปกว่านี้ก็ไม่
ควรเกิน 10 วินาที
หน้าที่ของระบบปฏิบัติการ
ระบบ
ปฏิบัติการถูกสร้างขึ้นโดยวัตถุประสงค์เพื่ออำนวยความสะดวกแก่ผู้ใช้งานผู้
ใช้งานสามารถโต้ตอบเพื่อใช้งานกับคอมพิวเตอร์ได้โดยไม่จำเป็นต้องเข้าไปยุ่ง
เกี่ยวหรือทราบถึงกลไกการทำงานภายในระบบคอมพิวเตอร์
ปล่อยให้เป็นหน้าที่ของระบบปฏิบัติการเอง
โดยหน้าที่ของระบบปฏิบัติการมีหน้าที่หลักสำคัญดังต่อไปนี้
1. ติดต่อประสานงานกับผู้ใช้ ( User Interface )
ในการติดต่อเพื่อใช้งานกับคอมพิวเตอร์ ผู้ใช้สามารถติดต่อหรือสั่งงานผ่านทางคีย์บอร์ดหรือเมาส์ เช่น ระบบปฏิบัติการดอส ( DOS ) เมื่อเข้าสู่ระบบเป็นที่เรียบร้อยแล้ว ก็จะมีเครื่องหมายพร้อมรับคำสั่ง ( Prompt ) ผู้ใช้งานสามารถใช้คำสั่งต่าง ๆ เพื่อติดต่อผ่านทาง Command Line ในขณะที่ระบบปฏิบัติการวินโดวส์ ( Windows ) จะแสดงผลในรูปแบบของภาพโดยติดต่อในลักษณะ Graphics User Interface ( GUI ) บนเดสก์ท็อปจะมีไอคอน ( Icon ) โปรแกรมต่าง ๆ ที่เปรียบเสมือนกับคำสั่ง เมื่อต้องการใช้งานก็ทำการดับเบิ้ลคลิกตรงไอคอนนั้น ๆ โปรแกรมก็จะปฏิบัติงานตามคำสั่งทันที
รูปที่ 1.28 การติดต่อกับผู้ใช้ในลักษณะ Command Line ในระบบปฏิบัติการดอส
รูปที่ 1.29 การติดต่อกับผู้ใช้ในลักษณะ GUI ในระบบปฏิบัติการวินโดวส์
2. ควบคุมดูแลอุปกรณ์ ( Control Devices )
ผู้
ใช้งานามารถใช้งานอุปกรณ์ต่าง ๆ ไม่ว่าจะเป็นคีย์บอร์ด ดิสก์ไดร์ฟ
หรือเครื่องพิมพ์อุปกรณ์ต่าง ๆ เหล่านี้
ตัวระบบปฏิบัติการจะเป็นผู้ที่ควบคุมดูแลการทำงานของอุปกรณ์เหล่านั้นเพื่อ
ให้การทำงานของระบบโดยรวมเป็นไปอย่างถูกต้องและมีความสอดคล้องกัน
ระบบปฏิบัติการในส่วนของรูทีน ( I/O Subsystem )
ที่ควบคุมอุปกรณ์แต่ละชนิดจะมีความแตกต่างกันไปตามแต่ละอุปกรณ์ เช่น
รูทีนควบคุมการแสดงผลของจอภาพ รูทีนควบคุมการทำงานของดิสก์ไดร์ฟ
ซึ่งรูทีนเหล่านี้ผู้ใช้อาจเรียกใช้งานผ่านทาง System Call ซึ่ง
จัดเป็นบริการการติดต่อกันระหว่างโปรเซสกับระบบปฏิบัติการ
ทำให้ประหยัดเวลาโดยไม่จำเป็นต้องเขียนโปรแกรมขึ้นมาใหม่เพื่อควบคุมอุปกรณ์
เหล่านั้น การเรียกใช้งานอุปกรณ์ผ่านทาง System Callจึงทำให้ประหยัดเวลาและทำให้การติดต่อควบคุมอุปกรณ์เหล่านี้เป็นไปตามมาตรฐานเดียวกัน
แต่
อย่างไรก็ตาม
ในกรณีที่ผู้ใช้ที่มีความสามารถและมีความเข้าใจการทำงานของอุปกรณ์เหล่านั้น
กับระบบปฏิบัติการเป็นอย่างดี
ก็อาจจะทำการเขียนโปรแกรมควบคุมอุปกรณ์ด้วยตนเองก็ได้
เพื่อใช้งานเฉพาะอย่างที่ต้องการ
3. จัดสรรทรัพยากร ( Resource ) ต่าง ๆ ภายในระบบให้เป็นไปอย่างมีประสิทธิภาพ
ทรัพยากร ( Resource ) คือ
สิ่งซึ่งถูกใช้ไปเพื่อให้โปรแกรมสามารถดำเนินงานต่อไปได้ตัวอย่างทรัพยากรใน
ระบบ เช่น ซีพียู หน่วยความจำ อุปกรณ์อินพุตและเอาต์พุตต่าง ๆ
สาเหตุที่จำเป็นต้องมีการจัดสรรทรัพยากรในระบบก็เพราะว่า
3.1 ทรัพยากรของระบบมีจำนวนจำกัด
ทรัพยากร
ในระบบ เช่น ซีพียู
ซึ่งคอมพิวเตอร์ส่วนใหญ่มักมีซีพียูเพียงตัวเดียวในการประมวลผล
แต่ซีพียูก็จำเป็นต้องทำการประมวลผลต่าง ๆ
มากมายในขณะเดียวกันดังนั้นจึงจำเป็นต้องจัดสรรการใช้งานซีพียูที่มีอยู่
เพียงตัวเดียวให้สามารถประมวลผลงานต่าง ๆ ที่เข้ามาให้ได้อย่างเหมาะสม
และเป็นการใช้ทรัพยากรที่มีอยู่อย่างคุ้มค่า
3.2 ความต้องการทรัพยากร
ใน
บางครั้งและในหลาย ๆ กรณี โปรแกรมต่าง ๆ
มีความต้องการใช้ทรัพยากรประเภทของทรัพยากรเหล่านั้นเพื่อตอบสนองการบริการ
ตามความต้องของแต่ละโปรเซสหรือโปรแกรมเหล่านั้นได้ โดยทรัพยากรหลัก ๆ
ที่ระบบปฏิบัติการได้จัดสรรไว้ประกอบด้วยซีพียู หน่วยความจำ
อุปกรณ์อินพุต/เอาต์พุต และข้อมูล
สรุปท้ายบทที่ 1
ดร.จอห์น ฟอน นอยมานน์ ( Dr. John Von Neumann ) เป็นบุคคลที่ได้ทำการออกแบบสถาปัตยกรรมคอมพิวเตอร์ที่สามารถทำการโปรแกรมและการประมวลผลบนคอมพิวเตอร์โดยมีการจัดการที่เป็นระบบ
ระบบคอมพิวเตอร์ สามารถแบ่งเป็นองค์ประกอบส่วนสำคัญต่าง ๆ 3 ส่วนด้วยกันโดยแต่ละส่วนก็มีส่วนประกอบย่อย ๆ ดังต่อไปนี้ คือ
1. ฮาร์ดแวร์ ( Hardware )
- หน่วยรับข้อมูล ( Input Unit )
- หน่วยประมวลผลกลาง( Central Processing Unit: CPU )
- หน่วยควบคุม ( Control Unit )
- หน่วยคำนวณและตรรกะ ( ALU )
- หน่วยความจำ ( Memory Unit )
- หน่วยความจำหลัก ( Main Memory )
- หน่วยความจำรอง ( Secondary Storage )
- หน่วยแสดงผลข้อมูล ( Output Unit )
2. ซอฟต์แวร์ ( Software )
- ซอฟต์แวร์ระบบ ( System Software )
- ซอฟต์แวร์ประยุกต์ ( Application Software )
3. บุคลากร ( Peopleware )
- โปรแกรมเมอร์ ( Programmers )
- นักวิเคราะห์ระบบ ( System Analyst )
- ผู้จัดการระบบเครือข่าย ( System or Network Managers )
- ผู้บริหารฐานข้อมูล ( Database Administrators: DBA )
- เวบมาสเตอร์ ( Web Masters )
- ช่องเทคนิคคอมพิวเตอร์ ( Computer Technicians )
- ผู้ใช้งาน ( End Users )
ระบบ
ปฏิบัติการเป็นโปรแกรมระบบที่ใช้สำหรับควบคุมการทำงานของคอมพิวเตอร์รวมทั้ง
การจัดสรรทรัพยากรในระบบให้เป็นอย่างมีประสิทธิภาพ
ซึ่งเปรียบเสมือนกับรัฐบาลที่ควยดูแลองค์ประกอบของระบบคอมพิวเตอร์
จัดหาหนทางที่เหมาะสมในการใช้ทรัพยากร ( Resource ) ร่วมกันที่มีอยู่อย่างจำกัดเพื่อตอบสนองความต้องการของผู้ใช้ให้เกิดประโยชน์สูงสุด
วิวัฒนาการของระบบปฏิบัติการ
1. การป้อนงานแบบกลุ่มด้วยมือ ( Manual Batch System )
2. การประมวลผลแบบกลุ่มโดยอัตโนมัติ ( Automatic Batch Processing )
2.1 การทำงานแบบบัฟเฟอร์ ( Buffering )
2.2 การประมวลผลแบบออฟไลน์ ( Off-Line )
2.3 การทำงานแบบสพูลลิ่ง (Spooling )
3. ระบบมลติโปรแกรมมิ่ง ( Multiprogramming )
4. ระบบแบ่งเวลา ( Time-Sharing )
5. ระบบตอบสนองการใช้งานแบบฉับพลัง (Real-Time System )
หน้าที่ของระบบปฏิบัติการ
1. ติดต่อประสานงานกับผู้ใช้ ( User Interface )
2. ควบคุมดูแลอุปกรณ์ ( Control Devices )
3. จัดสรรทรัพยากร ( Resource ) ต่าง ๆ ภายในระบบให้เป็นไปอย่างมีประสิทธิภาพ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น