บทที่ 1 องค์ประกอบของคอมพิวเตอร์

องค์ประกอบของคอมพิวเตอร์
นับ ตั้งแต่วิวัฒนาการของคอมพิวเตอร์ในยุคแรก ซึ่งเริ่มต้นจากเครื่องมือที่เป็นลักษณะเครื่องจักรกลและพัฒนาเป็นระบบ อิเล็กทรอนิกส์เป็นต้นมา จนกระทั่งราวปี ค.ศ.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)
ฮาร์ดแวร์ (Hardware)
ฮาร์ดแวร์ หมายถึงอุปกรณ์ต่างๆ ที่ประกอบกันเป็นตัวเครื่องคอมพิวเตอร์ซึ่งประกอบด้วยหน่วยรับข้อมูล (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 ) ต่าง ๆ ภายในระบบให้เป็นไปอย่างมีประสิทธิภาพ






ที่มา https://sites.google.com/site/operatingsytemsyvc/bth-thi-1

ไม่มีความคิดเห็น:

แสดงความคิดเห็น