หลักการ ทำงาน และระบบปฏิบัติการ เทคโนโลยี คอมพิวเตอร์

หลักการ ทำงาน และระบบปฏิบัติการ เทคโนโลยี คอมพิวเตอร์
หลักการ ทำงาน และระบบปฏิบัติการ เทคโนโลยี คอมพิวเตอร์
 

ความหมายของระบบปฏิบัติการ

     ระบบปฏิบัติการ (Operating Systems) คือ กลุ่มโปรแกรมซึ่งได้รับการจัดระเบียบให้เป็นส่วนเชื่อมโยงระหว่างเครื่องคอมพิวเตอร์และ ผู้ใช้เครื่องคอมพิวเตอร์ โดยจะเอื้ออำนวยการพัฒนาและ การใช้งานโปรแกรมต่าง ๆ รวมถึงการจัดสรรทรัพยากร (Resource) ต่าง ๆ ให้มีประสิทธิผลที่ดีโดย OS เองนั้น อาจเป็นได้ทั้ง Software, Hardware, Firmware
     Software OS - เป็นโปรแกรมควบคุมการทำงานของเครื่อง ปรับปรุงแก้ไขง่าย ซึ่งโดยส่วนมากแล้ว OS ส่วนใหญ่จะเป็น Software OS
     Hardware OS - ทำหน้าที่เดียวกับ Software OS แต่ทำงานเร็วกว่า เป็น OS ที่สร้างจากอุปกรณ์ electronic เป็นส่วนหนึ่งของ Hardware เครื่อง ปรับปรุงแก้ไขยาก มีราคาแพง
     Firmware OS - หมายถึง โปรแกรมส่วนหนึ่งของคอมพิวเตอร์ คือ ไมโครโปรแกรม (Microprogram) ไมโครโปรแกรม เกิดจาก คำสั่งไมโคร (Microinstruction) ซึ่งเป็นชุดคำสั่งต่ำสุดของระบบควบคุมการทำงานของ CPU หลาย ๆ คำสั่งรวมกัน คำสั่งภาษาเครื่อง 1 คำสั่งเกิดจากการทำงานของ Microprogram 1 โปรแกรม (หรือเกิดจากหลาย Microinstruction มารวมกัน) การแก้ไข เปลี่ยนแปลง คำสั่งภาษาเครื่อง ทำโดยสร้าง Microprogram ขึ้นใหม่ ซึ่งทำได้ยากและเสียค่าใช้จ่ายสูง

หลักการ ทำงาน และระบบปฏิบัติการ เทคโนโลยี คอมพิวเตอร์

หลักการ ทำงาน และระบบปฏิบัติการ เทคโนโลยี คอมพิวเตอร์

ระบบปฏิบัติการ Microsoft windows

ระบบปฏิบัติการ Ubuntu

ที่มา : http://nongnanajar.igetweb.com/index.php?mo=3&art=223413

ที่มา : http://www.oknation.net/blog/print.php?id=317278

 

แหล่งข้อมูล : http://nongnanajar.igetweb.com/index.php?mo=3&art=223413

หลักการ ทำงาน และระบบปฏิบัติการ เทคโนโลยี คอมพิวเตอร์

ระบบปฏิบัติการตอนที่ 1

        คอมพิวเตอร์ เป็นสิ่งที่เราคุ้นเคยกันดีในปัจจุบัน เพราะมันคืออุปกรณ์อิเล็กทรอนิกส์ที่ถูกนำมาใช้อย่างแพร่หลายในหลาย ๆ กิจกรรมที่เกิดขึ้นและเกี่ยวข้องกับตัวเรา

        ทั้งนี้หัวใจและการทำงานหลักของคอมพิวเตอร์ก็คือ ทำหน้าที่ประมวลผลข้อมูล จากข้อมูลนำเข้า (Input) ผ่านการประมวลผล (processing) และส่งข้อมูลที่ประมวลผลออกมาแล้วให้แสดงผ่านอุปกรณ์ในการแสดงผล (output) จากที่กล่าวไปนั้น ส่วนสำคัญก็คือ ระบบปฏิบัติการที่ทำงานเป็นส่วนสำคัญของระบบ

        และนั่นคือโครงสร้างพื้นฐานของระบบคอมพิวเตอร์ เราอาจให้ความหมายของระบบปฏิบัติติการคอมพิวเตอร์ได้ในหลายแบบหลายมุมมอง แต่สามารอธิบายโดยสรุปได้ว่า ระบบปฏิบัติการ (operating system) หรือ โอเอส (OS) เป็นระบบซอฟต์แวร์ที่ทำหน้าที่จัดการอุปกรณ์คอมพิวเตอร์และแหล่งซอฟต์แวร์และบริการโปรแกรมคอมพิวเตอร์ เพื่อให้อุปกรณ์ทำงานตามที่ได้ออกแบบไว้ โดยทั่วไปเครื่องคอมพิวเตอร์ขนาดใหญ่จะมีระบบปฏิบัติการที่ใหญ่ซับซ้อนและทำงานได้มากกว่าเครื่องคอมพิวเตอร์ขนาดเล็ก

หลักการ ทำงาน และระบบปฏิบัติการ เทคโนโลยี คอมพิวเตอร์

ภาพระบบปฏิบัติการวินโดส์ (Windows)
ที่มา https://en.wikipedia.org/wiki/File:Windows_10_1909_Desktop.png ,Microsoft Corporation

ระบบปฏิบัติการมีหน้าที่หลัก ๆ ดังนี้

การจัดสรรทรัพยากรในเครื่องคอมพิวเตอร์ (Allocation and Assignment)

      การจัดแบ่งทรัพยากรเพื่อให้บริการซอฟต์แวร์ประยุกต์ หมายถึง ระบบปฏิบัติการจะจัดสรรทรัพยากร ที่เครื่องคอมพิวเตอร์แต่ละเครื่องมีอยู่ ให้แก่ระบบการทำงานต่าง ๆ ในการประมวลผลคำสั่งงาน โดยจัดสรรเนื้อที่ในหน่วยความจำหลักให้แก่ข้อมูล โปรแกรม และควบคุมการทำงานของอุปกรณ์ ที่ต่ออยู่กับคอมพิวเตอร์ เช่น เครื่องพิมพ์ อุปกรณ์โทรคมนาคมที่ต่อพ่วง การรับส่งและจัดเก็บข้อมูลกับฮาร์ดแวร์ เช่น การส่งข้อมูลภาพไปแสดงผลที่จอภาพ การส่งข้อมูลไปเก็บหรืออ่านจากฮาร์ดดิสก์ การรับส่งข้อมูลในระบบเครือข่าย การส่งสัญญานเสียงไปออกลำโพง หรือจัดสรรพื้นที่ในหน่วยความจำ ตามที่ซอฟต์แวร์ประยุกต์ร้องขอ รวมทั้งทำหน้าที่จัดสรรเวลาการใช้หน่วยประมวลผลกลาง ในกรณีที่อนุญาตให้ซอฟต์แวร์ประยุกต์หลายๆ ตัวทำงานพร้อม ๆ กัน

       ซึ่งจะเห็นว่า ระบบปฏิบัติการช่วยจัดสรรทรัพยากรของระบบซึ่งมีอยู่อย่างจำกัดให้สามารถทำงานหลายๆงานได้ ก็อันเนื่องมาจากทรัพยากรหลัก ๆ ที่สำคัญ ได้แก่ ทรัพยากรด้านโพรเซสเซอร์ หรือที่เราเรียกว่า CPU ลำดับถัดมาคือ หน่วยความจำ หรือ Memory ซึ่งก็เป็นอุปกรณ์สำคัญที่ใช้จดจำจำบันทึกข้อมูลสำหรับการรับ ประมวลผล และแสดงผลข้อมูล สิ่งที่ขาดไม่ได้ต่อมาก็คือ อุปกรณ์นำเข้า/แสดงผล (Input/Output Devices) และส่วนสำคัญที่สุดก็คือ ข้อมูล (Data) ดังนั้นจึงต้องจัดสรรทรัพยากรเหล่านี้ให้กับหลายๆงานที่มีความต้องการใช้ทรัพยากรอย่างเดียวกัน เพื่อก่อให้เกิดประโยชน์สูงสุด และทำให้ใช้ทรัพยากรเหล่านี้ได้อย่างเต็มประสิทธิภาพ ระบบปฏิบัติ การนอกจากจะให้บริการในการจัดสรรลำดับการทำงานให้แก่อุปกรณ์ทรัพยากรภายในระบบคอมพิวเตอร์ และทำการยกเลิกเมื่อต้องการเลิกใช้งาน ยังช่วยให้บริการในการแชร์ทรัพยากรต่างๆภายในระบบให้สามารถใช้งานร่วมกันได้อีกด้วย

การกำหนดตารางการทำงาน (Scheduling)

        การกำหนดตารางการทำงาน หมายถึง ระบบปฏิบัติการ จะเป็นผู้คอยกำหนดลำดับการทำงานให้แก่งานต่างๆ ที่ส่งเข้ามาให้หน่วยประมวลผลกลางของเครื่องคอมพิวเตอร์ ประมวลผลในเวลาเดียวกัน ตัวอย่างเช่น ในขณะที่โปรแกรมหนึ่งกำลังทำงาน ระบบปฏิบัติการก็จะเป็นผู้คอยจัดตารางการใช้อุปกรณ์นำข้อมูลเข้า เช่น คีย์บอร์ด และการแสดงผลลัพธ์ เช่น จอภาพ เป็นต้น

และการตรวจสอบการทำงาน (Monitoring)

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

       อาจกล่าวได้ว่า ระบบปฏิบัติการ ช่วยให้ตัวซอฟต์แวร์ประยุกต์ ไม่ต้องจัดการเรื่องเหล่านั้นด้วยตนเอง เพียงแค่เรียกใช้บริการจากระบบปฏิบัติการก็พอ ทำให้พัฒนาซอฟต์แวร์ประยุกต์ได้ง่ายขึ้น

การติดต่อกับผู้ใช้ (User Interface)

       ถือเป็นส่วนสำคัญที่ช่วยทำให้คอมพิวเตอร์สามารถทำงานได้ และเป็นตัวกลางในการทำงานระหว่างผู้ใช้งาน (User) กับเครื่องคอมพิวเตอร์ กล่าวคือทำหน้าที่เป็นตัวกลางในการประสานการทำงานระหว่างผู้ใช้กับฮาร์ดแวร์ของเครื่องคอมพิวเตอร์นั่นเอง

       เราสามารถแบ่งวิธีการติดต่อกับผู้ใช้ (User Interface) ออกเป็น 2 ประเภท ดังนี้

      1. คอมมานด์ไลน์ (Command Line)

       เป็นการติดต่อกับผู้ใช้แบบขั้นแรกและขั้นพื้นฐาน ลักษณะการติดต่อกับผู้ใช้โดยให้ผู้ใช้ป้อนคำสั่งเป็นตัวอักษรที่มีรูปแบบของคำสั่งลงไป เพื่อให้เครื่องคอมพิวเตอร์ทำงานตามต้องการทีละบรรทัดคำสั่งหรือเรียกว่า “คอมมานด์ไลน์ (Command Line)” เช่น ระบบปฏิบัติการดอส (DOS : Disk Operating System) ระบบปฏิบัติการลีนุกซ์ (Linux) เป็นต้น   ซึ่งนึกภาพตามก็คือ หน้าจอคอมพิวเตอร์ที่มีแต่ชุดคำสั่งโปรแกรมคอมพิวเตอร์

       2. กราฟิก (GUI : Graphical User Interface) เป็นการนำรูปภาพหรือสัญลักษณ์มาใช้ในการสั่งงาน รูปแบบของระบบนี้ผู้ใช้ไม่ต้องจดจำคำสั่งเพียงเลือกรายการคำสั่ง หรือภาพแสดงสัญลักษณ์ของคำสั่งที่ปรากฏบนจอภาพ ผ่านทางอุปกรณ์นำเข้าข้อมูล ได้แก่ เมาส์ คีย์บอร์ด เป็นต้น ระบบปฏิบัติการประเภทกราฟิก เช่น ระบบปฏิบัติการ Windows

การควบคุมอุปกรณ์และการทำงานต่าง ๆ ของระบบคอมพิวเตอร์ (Control Devices)  

     ส่วนสำคัญอีกประการหนึ่งของระบบปฏิบัติการคอมพิวเตอร์ก็คือ  เครื่องคอมพิวเตอร์จะมีอุปกรณ์เชื่อมต่ออีกหลายชนิดที่จะนำมาใช้ร่วมกัน เช่น เมาส์ คีย์บอร์ด เครื่องสแกนเนอร์ จอภาพ เป็นต้น อุปกรณ์เหล่านี้จะมีความแตกต่างกัน ดังนั้นระบบปฏิบัติการมีหน้าที่ควบคุมการทำงานของโปรแกรม และอุปกรณ์ปฏิบัติการต่างๆ ช่วยจัดการให้ผู้ใช้สามารถใช้งานอุปกรณ์เหล่านี้ได้ โดยผู้ใช้ส่งคำสั่งการทำงานไปยังอุปกรณ์ผ่านทางโปรแกรมที่ทำหน้าที่ติดต่อระหว่างระบบปฏิบัติการกับโปรแกรมของผู้ใช้  

สรุปหน้าที่ที่สำคัญของระบบปฏิบัติการ

  1. การจัดการเกี่ยวกับไฟล์

  2. การจัดการเกี่ยวกับอุปกรณ์ input/output

  3. การจัดการหน่วยความจำ

  4. การจัดการเกี่ยวกับโปรแกรมประยุกต์

  5. การจัดลำดับความสำคัญก่อนหลังในการทำงาน

แหล่งที่มา

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://th.wikipedia.org/wiki/ระบบปฏิบัติการ

หน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://jsbg.joseph.ac.th/pm08/alesson/computer%20p3%20p4/__1.html

ซอฟท์แวร์ คืออะไร ?. สืบค้นเมื่อ 12 กันยายน 2561.จาก https://web.ku.ac.th/schoolnet/snet1/software/software/

ซอฟต์แวร์ประยุกต์คืออะไร แบ่งออกเป็นกี่ประเภท อะไรบ้าง จงอธิบาย.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/mju5303103351cs203/sxftwaer-prayukt-khux-xari-baeng-xxk-pen-ki-prapheth-xari-bang-cng-xthibay

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://kanchanapisek.or.th/kp6/sub/book/book.php?book=25&chap=1&page=t25-1-infodetail05.html

ความหมายและหน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/choothong13/rabb-ptibati-kar/1-khwam-hmay-laea-hnathi-khxng-rabb-ptibati-kar

ระบบปฏิบัติการคอมพิวเตอร์.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/fawdahshop/kar-prakxb-khxmphiwtexr/rabb-pdibati-kar-khxmphiwtexr

ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://home.kku.ac.th/regis/student/snakiiz/New%20Folder/11.html

Return to contents


ระบบปฏิบัติการตอนที่ 2

       คอมพิวเตอร์ เป็นสิ่งที่เราคุ้นเคยกันดีในปัจจุบัน เพราะมันคืออุปกรณ์อิเล็กทรอนิกส์ที่ถูกนำมาใช้อย่างแพร่หลายในหลาย ๆ กิจกรรมที่เกิดขึ้นและเกี่ยวข้องกับตัวเรา

ระบบของคอมพิวเตอร์

           ระบบปฏิบัติการเป็นส่วนสำคัญของระบบ โดยทั่วไประบบคอมพิวเตอร์แบ่งเป็น 4 ส่วน คือ ฮาร์ดแวร์ ระบบปฏิบัติการ โปรแกรมประยุกต์ และผู้ใช้

ฮาร์ดแวร์

         ประกอบด้วยทรัพยากรต่างๆ ที่มีในระบบ ได้แก่ อุปกรณ์นำข้อมูลเข้า/ออก หน่วยประมวลผลกลาง และหน่วยความจำ นอกจากนี้ยังหมายความรวมถึง โปรแกรมภาษาเครื่อง และไมโครโปรแกรม ซึ่งเป็นส่วนที่บริษัทผู้ผลิตสร้างขึ้นเพื่อใช้เป็นซอฟร์แวร์ในระดับพื้นฐาน (primitive level) โดยสามารถทำงานได้โดยตรงกับทรัพยากรระบบด้วยคำสั่งง่ายๆ เช่น ADD MOVE หรือ JUMP คำสั่งเหล่านี้จะถูกกำหนดเป็นขั้นตอน การทำงานของวงจรภายในเครื่องคอมพิวเตอร์ ชุดคำสั่งที่ไมโครโปรแกรมต้องแปลหรือตีความหมายจะอยู่ใน รูปแบบภาษาเครื่องและมักเป็นคำสั่งในการคำนวณ เปรียบเทียบ และการควบคุมอุปกรณ์นำข้อมูลเข้า/ออก

ระบบปฏิบัติการ

         เป็นโปรแกรมที่ทำงานเป็นตัวกลางระหว่างผู้ใช้เครื่องและฮาร์ดแวร์ โดยมีวัตถุประสงค์เพื่อจัดสภาพแวดล้อมให้ผู้ใช้ระบบสามารถปฏิบัติงานบนเครื่องคอมพิวเตอร์ได้ โดยจะเอื้ออำนวยการพัฒนาและการใช้โปรแกรมต่างๆ รวมถึงการจัดสรรทรัพยากรต่างๆ ให้ได้อย่างมีประสิทธิภาพ

โปรแกรมประยุกต์

        คือซอฟต์แวร์หรือโปรแกรมที่ถูกเขียนขึ้นเพื่อการทำงานเฉพาะอย่างที่เราต้องการ เช่น งานส่วนตัว งานทางด้านธุรกิจ งานทางด้านวิทยาศาสตร์ โปรแกรมทางธุรกิจ เกมส์ต่างๆ ระบบฐานข้อมูล ตลอดจนตัวแปลภาษา เราอาจเรียกโปรแกรมประเภทนี้ว่า User's Program โปรแกรมประเภทนี้โดยส่วนใหญ่มักใช้ภาษาระดับสูงในการพัฒนา เช่นภาษา C, C++, COBOL, PASCAL, BASIC ฯลฯ ตัวอย่างของโปรแกรมที่พัฒนาขึ้นใช้ในทางธุรกิจ เช่น โปรแกรมระบบบัญชีจ่ายเงินเดือน (Payroll Program) โปรแกรมระบบเช่าซื้อ (Hire Purchase) โปรแกรมระบบสินค้าคงหลัง (Stock Program) ฯลฯ ซึ่งแต่ละโปรแกรมก็จะมีเงื่อนไขหรือแบบฟอร์มที่แตกต่างกัน ตามความต้องการหรือกฎเกณฑ์ของแต่ละหน่วยงานที่ใช้ ซึ่งโปรแกรมประเภทนี้เราสามารถดัดแปลงแก้ไขเพิ่มเติม (Modifications) ในบางส่วนของโปรแกรมเองได้ เพื่อให้ตรงกับความต้องการของผู้ใช้งานโปรแกรม

โปรแกรมเหล่านี้เป็นตัวกำหนดแนวทางในการใช้ทรัพยากรระบบ เพื่อทำงานต่างๆ ให้แก่ผู้ใช้หลากหลายประเภท ซึ่งอาจเป็นได้ทั้งบุคคล โปรแกรม หรือเครื่องคอมพิวเตอร์ เช่นตัวแปรภาษาต้องใช้ทรัพยากรระบบในการแปลโปรแกรมภาษาระดับสูงให้เป็นภาษาเครื่องแก่โปรแกรมเมอร์ ดังนั้น ระบบปฏิบัติการต้องควบคุมและประสานงานในการใช้ทรัพยากรระบบของผู้ใช้ให้เป็นไปอย่างถูกต้อง

ผู้ใช้

       ถึงแม้ระบบคอมพิวเตอร์จะประกอบด้วยองค์ประกอบทั้งทางด้านฮาร์ดแวร์และซอฟต์แวร์ แต่ระบบคอมพิวเตอร์จะไม่สามารถทำงานได้ถ้าขาดอีกองค์ประกอบหนึ่ง ซึ่งได้แก่ องค์ประกอบทางด้านบุคลากรที่จะเป็นผู้จัดการและควบคุมระบบคอมพิวเตอร์ให้สามารถปฏิบัติงานได้อย่างราบรื่น คอยแก้ไขปัญหาต่าง ๆ ที่เกิดขึ้นกับระบบคอมพิวเตอร์ พัฒนาโปรแกรมประยุกต์ต่าง ๆ รวมไปถึงการใช้งานโปรแกรมประยุกต์ที่ถูกพัฒนาขึ้น

โครงสร้างพื้นฐานของเครื่องคอมพิวเตอร์

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

     1. อุปกรณ์นำข้อมูลเข้า/ออก (Input/output) เป็นส่วนที่ใช้ในการรับ-ส่งข้อมูลระหว่างเครื่องคอมพิวเตอร์กับผู้ใช้ ทำให้ทราบถึงการปฏิบัติงานของเครื่องคอมพิวเตอร์

      2. หน่วยความจำ (Memory) เป็นส่วนที่สร้างขึ้นเพื่อนำมาเก็บข้อมูลหรือคำสั่งที่คอมพิวเตอร์หรือผู้ใช้ต้องการเอาไว้ใช้ โดยแยกเป็นหน่วยความจำหลักซึ่งมีหน้าที่ติดต่อกับซีพียูโดยตรง ซึ่งประกอบด้วยหน่วยความจำ ROM และ RAM และหน่วยความจำสำรองซึ่งเป็นส่วนหนึ่งของอุปกรณ์นำข้อมูลเข้า/ออก ที่มีหน้าที่นำมาเก็บ ข้อมูลตามที่ต้องการ

      3. หน่วยประมวลผลกลาง (Central Processing Unit : CPU) เป็นส่วนที่ทำหน้าที่ปฏิบัติตามคำสั่ง ที่รับมาจากส่วนของอุปกรณ์นำเข้ามาประมวลผลเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ การปฏิบัติตามคำสั่งหรือการประมวลผลนี้เรียกว่า การเอ็กซีคิ้ว (execute) หรือการรันโปรแกรม

การจัดแบ่งโครงสร้างของระบบคอมพิวเตอร์เป็นดังนี้

       ระบบภายใน หรือที่เรียกว่าเครื่องคอมพิวเตอร์ ซึ่งประกอบไปด้วย ซีพียู และหน่วยความจำหลัก

       ระบบภายนอก หรือที่เรียกว่าอุปกรณ์รอบข้าง (peripheral) ซึ่งประกอบไปด้วย อุปกรณ์นำข้อมูล เข้า/ออกและหน่วยความจำสำรอง

       กล่าวสรุปได้ว่า การติดต่อข้อมูลภายในระบบคอมพิวเตอร์ หน่วยความจำหลักสามารถติดต่อกับซีพียูได้โดยตรงโดยไม่ต้องผ่านอุปกรณ์อื่น แต่ในส่วนของอุปกรณ์นำข้อมูลเข้า/ออก อุปกรณ์ป้อนข้อมูลจะรับส่ง ข้อมูลไปยังซีพียูเพื่อทำการประมวลผลแล้วส่งกลับไปให้ผู้ใช้โดยผ่านอุปกรณ์แสดงผลข้อมูล ซึ่งในการทำงานบางครั้งซีพียูจะส่ง ข้อมูลไปเก็บที่หน่วยความจำสำรองหรือซีพียูต้องขอข้อมูลจากหน่วยความจำสำรองก่อนส่งกลับไปให้ผู้ใช้ผ่านอุปกรณ์แสดงผลข้อมูลและที่สำคัญคือการติดต่อระหว่างซีพียูกับอุปกรณ์รอบข้างจะต้องผ่านข่องทางและหน่วยควบคุมอุปกรณ์

แหล่งที่มา

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://th.wikipedia.org/wiki/ระบบปฏิบัติการ

หน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://jsbg.joseph.ac.th/pm08/alesson/computer%20p3%20p4/__1.html

ซอฟท์แวร์ คืออะไร ?. สืบค้นเมื่อ 12 กันยายน 2561.จาก https://web.ku.ac.th/schoolnet/snet1/software/software/

ซอฟต์แวร์ประยุกต์คืออะไร แบ่งออกเป็นกี่ประเภท อะไรบ้าง จงอธิบาย.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/mju5303103351cs203/sxftwaer-prayukt-khux-xari-baeng-xxk-pen-ki-prapheth-xari-bang-cng-xthibay

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://kanchanapisek.or.th/kp6/sub/book/book.php?book=25&chap=1&page=t25-1-infodetail05.html

ความหมายและหน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/choothong13/rabb-ptibati-kar/1-khwam-hmay-laea-hnathi-khxng-rabb-ptibati-kar

ระบบปฏิบัติการคอมพิวเตอร์.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/fawdahshop/kar-prakxb-khxmphiwtexr/rabb-pdibati-kar-khxmphiwtexr

ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://home.kku.ac.th/regis/student/snakiiz/New%20Folder/11.html

Return to contents


ระบบปฏิบัติการ ตอนที่ 3

       แชลแนลและหน่วยควบคุมอุปกรณ์ (Channel and Device Control Unit)

       หน่วยประมวลผลที่เป็นหัวใจและเป็นหลักของระบบคอมพิวเตอร์ก็คือ ซีพียู ในระบบคอมพิวเตอร์ที่ใหญ่ๆ จะมีหน่วยประมวลผลหรือโปรเซสเซอร์อื่นๆ เพื่อช่วยซีพียูทำงาน โปรเซสเซอร์เหล่านี้จะไปควบคุมการทำงานของอุปกรณ์รอบข้างต่างๆ ทั้งนี้เพราะอุปกรณ์เหล่านี้ทำงานได้ช้ามากเมื่อเปรียบเทียบกับซีพียู ดังนั้นถ้าหากให้ซีพียูซึ่งมีประสิทธิภาพสูง และทำงานได้รวดเร็วต้องมารอการทำงานของอุปกรณ์เหล่านี้ ก็จะทำให้การทำงานของซีพียูทำงานได้ไม่เต็มประสิทธิภาพ เราจึงใช้โปรเซสเซอร์อื่นๆ ที่มีราคาถูกและความสามารถต่ำกว่าตัวซีพียูมาควบคุมหรือมาจัดการงานทางด้านอุปกรณ์นำข้อมูลเข้า/ออก(Input/Output) ที่เชื่องช้า โปรเซสเซอร์นี้เรียกว่า โปรเซสเซอร์สำหรับอุปกรณ์รอบข้าง (Peripheral processor : I/O processor) หรือดาต้าแชนแนล (data channel) เราอาจเรียกสั้นๆว่า แชนแนล

         ในระบบเล็กๆ อุปกรณ์นำข้อมูลเข้า/ออกจะต่อกันโดยตรงกับซีพียูผ่านทาง "พอร์ท" (port) แต่ในระบบใหญ่ๆ แชนแนลจะต่อเข้าระหว่างซีพียูกับอุปกรณ์นำข้อมูลเข้า/ออกหลายๆชนิด ซึ่งรวมกันเป็นระบบคอมพิวเตอร์ขึ้นมา แชนแนลนี้จะไปต่อกับหน่วยควบคุมอุปกรณ์ (device control unit) หรือที่เรียกสั้นๆ ว่า CU หรือตัวควบคุมอุปกรณ์รอบข้าง (peripheral controller) หน่วยควบคุมอุปกรณ์จะต่อเข้ากับอุปกรณ์นำข้อมูลเข้า/ออกจริงๆ อีกทอดหนึ่ง

        หน่วยควบคุมอุปกรณ์นี้แต่ละตัวจะดูแลเฉพาะแต่ละประเภท เช่น ตัวขับดิสก์ หรือดิสก์ไดร์ฟ ก็ต้องมีหน่วยควบคุมของดิสก์ไดร์ฟ ซึ่งควบคุมลักษณะการทำงานตามลักษณะทางกายภาพของมัน หน่วยควบคุมดิสก์ไดร์ฟจะไปควบคุมการทำงานของเครื่องพิมพ์หรือจอภาพ หรืออุปกรณ์อื่นๆ ไม่ได้

       ซีพียูสามารถติดต่อกับแชนแนลได้หลายๆ แชนแนล (ปกติในเครื่องคอมพิวเตอร์แต่ละตัวจะประกอบด้วย 7 แชนแนล) แชนแนลสามารถติดต่อกับ CU ได้หลายๆ ตัว ซึ่ง CU แต่ละตัวติดต่อกับอุปกรณ์ได้หลายตัวแต่ต้องเป็นอุปกรณ์ชนิดเดียวกัน ทั้งนี้หน่วยประมวลผลกลางและตัวควบคุมอุปกรณ์สามารถทำงานพร้อมกันเพื่อแย่งชิงหน่วยความจำ (Memory cycle) กัน และตัวควบคุมอุปกรณ์จำเป็นต้องทำหน้าที่ประสานการเข้าใช้หน่วยความจำหลักร่วมกันของตัวควบคุมอุปกรณ์ทั้งหลายให้เป็นไปตามลำดับ

         แชนแนลสามารถรันโปรแกรมทางด้านอุปกรณ์นำข้อมูลเข้า/ออกและรับส่งข้อมูลระหว่างหน่วยความจำกับอุปกรณ์นำข้อมูลเข้า/ออก ตัวอย่างเช่น ซีพียูต้องการข้อมูลจากอุปกรณ์ภายนอก ซีพียูจะส่งสัญญาณ I/O request ไปยังแชนแนล ถ้าแชนแนลว่างอยู่มันจะรันโปรแกรมเกี่ยวกับงานทางด้านนำข้อมูลเข้า/ออกซึ่งเรียกว่า แชนแนลโปรแกรม (channel program) เพื่อรับข้อมูลมาจากอุปกรณ์นำข้อมูลเข้า/ออก เมื่อแชนแนลรับข้อมูลมามันจะนำไปไว้ในหน่วยความจำ (RAM) และจะส่งสัญญาณไปบอกให้ซีพียูรับทราบ เพื่อที่ซีพียูจะได้รับไปทำงานต่อไป

       หน่วยควบคุม (Control Unit) หน่วยควบคุม ทำหน้าที่ควบคุมการทำงานของเครื่องคอมพิวเตอร์ทั้งระบบ เช่น ควบคุมการทำงานของความจำหลัก หน่วยรับข้อมูล หน่วยคำนวณและตรรกะ หน่วยแสดงผล และที่เก็บข้อมูลต่าง ๆ ดังนั้นการทำงานของหน่วยนี้จึงเปรียบเสมือนเป็นศูนย์กลางระบบประสาท ที่ทำหน้าที่ควบคุมการทำงานของส่วนประกอบต่าง ๆ ของเครื่องคอมพิวเตอร์ โดยที่หน่วยควบคุมและซีพียูจะรับรู้คำสั่งต่าง ๆ ในรูปของคำสั่งภาษาเครื่องเท่านั้น ถ้าผู้ใช้เขียนโปรแกรมโดยใช้ภาษาระดับสูง (High Level Language) ก่อนที่จะสั่งให้คอมพิวเตอร์ทำงานจะต้องมีการแปลงเป็นภาษาระดับต่ำ (Low Level Language) ก่อน

        หน่วยความจำแคช (cache memory) เป็นหน่วยความจำขนาดเล็กที่อยู่ภายในซีพียู เรียกว่า หน่วยความจำระดับ 2 (L2: Level 2)  ปกติมักมีขนาด 512 กิโลไบต์ (512 K) ทำหน้าที่เก็บพักข้อมูลที่จะต้องประมวลผลไว้ล่วงหน้าและเก็บพักข้อมูลที่ประมวลผลแล้วรอการส่งออกทำให้ซีพียูทำงานเร็วขึ้น ส่วนหน่วยความจำที่ทำหน้าที่ทำหน้าที่เก็บพักข้อมูลที่อยู่นอกซีพียูเป็นหน่วยความจำระดับ 3

       หน่วยคำนวณและตรรกะ (Arithmetic & Logical Unit : ALU)    หน่วยคำนวณและตรรกะเป็นหน่วยที่ทำหน้าที่คำนวณทางเลขคณิตได้แก่ การบวก ลบ คูณ หาร และเปรียบเทียบทางตรรกะเพื่อทำการตัดสินใจ เช่น ทำการเปรียบเทียบข้อมูล เพื่อตรวจสอบว่าปริมาณหนึ่ง น้อยกว่า เท่ากับ หรือมากกว่า อีกปริมาณหนึ่ง แล้วส่งผลการเปรียบเทียบว่า จริงหรือเท็จไปยังหน่วยความจำเพื่อทำงานต่อไป ตามขั้นตอนที่กำหนดไว้ในเงื่อนไข การทำงานของเอแอลยู คือ รับข้อมูลจากหน่วยความจำ มาไว้ในที่เก็บชั่วคราวของเอแอลยูซึ่งเรียกว่า รีจิสเตอร์ ( register ) เพื่อทำการคำนวณแล้วส่งผลลัพธ์กลับไปยังหน่วยความจำ ทั้งนี้ในการส่งข้อมูลระหว่างอุปกรณ์ต่างๆ ข้อมูลระหว่างอุปกรณ์ต่างๆ ข้อมูลและคำสั่งจะอยู่ในรูปของสัญญาณไฟฟ้า แล้วยังส่งไปยัง อุปกรณ์ต่างๆ ผ่านระบบส่งถ่ายข้อมูลผ่านในที่เรียกว่าบัส ( bus ) กลไกลการทำงานของหน่วยประมวลผลกลาง มีความสลับซับซ้อน ผู้พัฒนาซีพียูได้สร้างกลไกให้ทำงานได้ดีขึ้น โดยแบ่งการทำงาน ออกเป็นส่วนๆ มีการทำงานแบบขนาน และทำงานเหลื่อมกันเพื่อให้ทำงานได้เร็วขึ้น อีกปัจจัยหนึ่งที่เป็นตัวกำหนดความเร็วของซีพียู คือความถี่ของสัญญาณนาฬิกา ( clock ) ซึ่งเป็นสัญญาณไฟฟ้าที่คอยกำหนดจังหวะการทำงานประสานของงจรภายในให้สอดคล้องกัน ในอดีตสัญญาณดังกล่าวจะมีความถี่ในหน่วยเป็นเมกะเฮิรตซ์ ( megahertz ) หรือล้านครั้งต่อวินาที ดังนั้นสำหรับซีพียูที่มีสถาปัตยกรรมภายในเหมือนทุกประการ แต่ความถี่สัญญาณนาฬิกาต่างกัน ซีพียูที่มีความถี่สัญญาณนาฬิกาต่างกัน ซีพียูที่มีความถี่สัญญาณนาฬิกาสูงกว่าจะทำงานได้เร็วกว่าและซีพียูที่มีอยู่ในปัจจุบันมีความถี่ในระดับจิกะเฮิรตซ์

 แหล่งที่มา

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://th.wikipedia.org/wiki/ระบบปฏิบัติการ

หน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://jsbg.joseph.ac.th/pm08/alesson/computer%20p3%20p4/__1.html

ซอฟท์แวร์ คืออะไร ?. สืบค้นเมื่อ 12 กันยายน 2561.จาก https://web.ku.ac.th/schoolnet/snet1/software/software/

ซอฟต์แวร์ประยุกต์คืออะไร แบ่งออกเป็นกี่ประเภท อะไรบ้าง จงอธิบาย.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/mju5303103351cs203/sxftwaer-prayukt-khux-xari-baeng-xxk-pen-ki-prapheth-xari-bang-cng-xthibay

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://kanchanapisek.or.th/kp6/sub/book/book.php?book=25&chap=1&page=t25-1-infodetail05.html

ความหมายและหน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/choothong13/rabb-ptibati-kar/1-khwam-hmay-laea-hnathi-khxng-rabb-ptibati-kar

ระบบปฏิบัติการคอมพิวเตอร์.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/fawdahshop/kar-prakxb-khxmphiwtexr/rabb-pdibati-kar-khxmphiwtexr

ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://home.kku.ac.th/regis/student/snakiiz/New%20Folder/11.html

หน่วยคำนวณและตรรกะ. สืบค้นเมื่อ 12 กันยายน 2561.จาก http://snapdragon-surachet.blogspot.com/2013/06/arithmetic-logical-unit-alu.html?view=sidebar

Return to contents


ระบบปฏิบัติการตอนที่ 4

การติดต่อระหว่างอุปกรณ์รอบข้างกับซีพียู

        การเริ่มต้นการทำงานของเครื่องคอมพิวเตอร์ จำเป็นต้องมีโปรแกรมสำหรับเริ่มต้นปฏิบัติการ เรียกว่า บูธส์แทรป (Bootstrap) ซึ่งจะทำหน้าที่กำหนดค่าเริ่มต้นให้กับรีจีสเตอร์ภายในหน่วยประมวลผลกลาง ตัวควบคุมอุปกรณ์ ตลอดจนหน่วยความจำ และทำการโหลดระบบปฏิบัติการลงในหน่วยความจำเพื่อเริ่มต้นการทำงาน โดยที่ระบบปฏิบัติการจะสร้างโปรเซสแรกชื่อว่า init และรอเหตุการณ์โดยใช้วิธีการขัดจังหวะจากฮาร์ดแวร์หรือซอฟต์แวร์ ถ้าสัญญาณการขัดจังหวะมาจากฮาร์ดแวร์ การขัดจังหวะอาจเกิดขึ้นเวลาใดก็ได้ โดยส่งสัญญาณทางบัสไปยังหน่วยประมวลผลกลาง แต่ถ้าส่งมาโดยซอฟต์แวร์ การขัดจังหวะจะเกิดขึ้นได้โดยทำตามคำสั่งพิเศษที่เรียกว่า คำสั่งระบบ (System call หรือ monitor call)

         เหตุการณ์ต่างๆ ที่ทำให้เกิดการขัดจังหวะ เช่น การเสร็จสิ้นการทำงานของอุปกรณ์นำข้อมูลเข้า/ออก การเกิดข้อผิดพลาดจากการหารด้วยศูนย์ และการร้องขอการบริการจากระบบปฏิบัติการ การขัดจังหวะแต่ละประเภทจะมีส่วนบริการเฉพาะของตนเองที่ต้องให้บริการแก่การขัดจังหวะประเภทนั้นๆ เมื่อเกิดสัญญาณการขัดจังหวะ หน่วยประมวลผลกลางจะหยุดการทำงานขณะนั้นและโยกย้ายมาปฏิบัติการ ณ ตำแหน่งเริ่มต้นของส่วนการบริการของการขัดจังหวะที่เกิดขึ้น หลังจากทำงานในส่วนบริการเสร็จสิ้น หน่วยประมวลผลกลางจึงกลับไปทำงานที่ถูกขัดจังหวะนั้นต่อไป

         การขัดจังหวะเป็นส่วนสำคัญของสถาปัตยกรรมคอมพิวเตอร์ซึ่งในการออกแบบเครื่องคอมพิวเตอร์แต่ละรุ่น มีกลไกการขัดจังหวะเฉพาะของตนเอง แต่หน้าที่โดยทั่วไปเหมือนกัน เมื่อเกิดสัญญาณการขัดจังหวะ จะมีตัวจัดการขัดจังหวะ (interrupt handle) ทำการตรวจสอบก่อนว่าสัญญาณนั้นเป็นสัญญาณขัดจังหวะประเภทใด จากนั้นก็โยกย้ายการควบคุมไปยังตำแหน่งเริ่มต้นของส่วนการบริการการขัดจังหวะประเภทนั้นๆ ซึ่งการจัดการงานนี้ต้องทำอย่างรวดเร็วโดยใช้ตารางเก็บตำแหน่งส่วนบริการการขัดจังหวะ (interrupt vector table) ที่อยู่ในหน่วยความจำหลัก ซึ่งข้อมูลในตารางนี้เป็นตำแหน่งที่อยู่เริ่มต้นของส่วนบริการการขัดจังหวะแต่ละประเภท ระบบปฏิบัติการยูนิกซ์และไมโครซอฟต์ดอส ก็อาศัยกลไกการขัดจังหวะนี้

         นอกจากนี้กลไกการขัดจังหวะจะต้องเก็บตำแหน่งของคำสั่งที่ถูกขัดจังหวะด้วย เพื่อให้หน่วยประมวลผลกลางสามารถกลับมาทำงานที่ถูกขัดจังหวะต่อไปได้ เดิมทีนั้นมีการออกแบบให้เก็บตำแหน่งดังกล่าวไว้ในที่ที่กำหนดให้แน่นอนแล้วหรือโดยใช้หมายเลขอุปกรณ์เป็นดัชนีของที่ที่กำหนดให้ แต่ในปัจจุบันนี้ ระบบเก็บตำแหน่งการกลับคืนนั้นเก็บไว้บนสแต็กของระบบ ถ้าส่วนการบริการการขัดจังหวะจำเป็นต้องเปลี่ยนแปลงสถานะเดิมของหน่วยประมวลผลกลาง เช่น ค่าในรีจีสเตอร์ก็จะต้องทำการเก็บรักษาค่าต่างๆที่ถูกกระทบไว้บนสแต็กก่อนและหลังจากการทำงานในส่วนบริการเสร็จสิ้น ทำการกำหนดค่าเดิมเหล่านั้นกลับคืนให้เพื่อรักษาสถานะเดิมของระบบ ดังนั้นเมื่อหน่วยประมวลผลกลางกลับมาทำงานเดิมที่ถูกขัดจังหวะไป ก็สามารถดำเนินต่อไปได้เสมือนว่างานนั้นไม่เคยถูกขัดจังหวะ

         โดยปกติ ขณะที่ระบบปฏิบัติการกำลังบริการให้กับสัญญาณการขัดจังหวะหนึ่งนั้น จะไม่สนใจสัญญาณการขัดจังหวะอื่น ๆ ที่เข้ามาในระหว่างนั้น เพราะถ้าระบบปฏิบัติการยอมรับสัญญาณขัดจังหวะใหม่ที่เข้ามาอีก จะทำให้ข้อมูลสถานะต่างๆ ของสัญญาณการขัดจังหวะแรกหายไปทันที อย่างไรก็ตาม กลไกการขัดจังหวะที่ซับซ้อนมากขึ้น จะยอมรับการเกิดสัญญาณการขัดจังหวะใหม่ได้โดยใช้หลักการของลำดับความสำคัญที่กำหนดให้กับการร้องขอแต่ละชนิด และจัดเก็บข้อมูลของการดำเนินการขัดจังหวะแยกตามลำดับความสำคัญนั้นๆ ทั้งนี้สัญญาณการขัดจังหวะที่มีลำดับความสำคัญมากกว่าจะได้เข้าปฏิบัติการก่อน แม้ว่าขณะนั้นระบบปฏิบัติการกำลังทำงานให้กับสัญญาณการขัดจังหวะที่มีลำดับความสำคัญต่ำกว่า แต่ถ้าสัญญาณการขัดจังหวะที่เข้ามานั้นเป็นสัญญาณการขัดจังหวะที่มีลำดับความสำคัญเท่ากันหรือต่ำกว่า ระบบปฏิบัติการก็จะไม่ยอมรับรู้เช่นกัน

          ระบบปฏิบัติการสมัยใหม่เป็นระบบที่ทำงานโดยใช้การขัดจังหวะ ถ้าไม่มีโปรเซสที่ระบบปฏิบัติการไม่ต้องให้บริการอุปกรณ์ใดๆ และไม่มีการตอบสนองไปยังผู้ใช้ ระบบปฏิบัติการก็จะว่างและรอเหตุการณ์ใดๆ เกิดขึ้น ซึ่งเหตุการณ์เหล่านั้นถูกส่งมาในรูปของสัญญาณของการขัดจังหวะที่เกิดจากซอฟต์แวร์สร้างขึ้น โดยอาจจะเกิดข้อผิดพลาด เช่นการเกิดหารด้วยศูนย์ หรือการเข้าถึงหน่วยความจำไม่ถูกต้อง หรืออาจเกิดจากการร้องขอของโปรแกรมผู้ใช้ที่ระบบปฏิบัติการต้องกระทำการให้

          ลักษณะการทำงานโดยใช้การขัดจังหวะของระบบปฏิบัติการนี้เป็นตัวกำหนดโครงสร้างโดยทั่วไปของระบบ เมื่อมีการขัดจังหวะเกิดขึ้น ฮาร์ดแวร์จะส่งการควบคุมไปยังระบบปฏิบัติการ เพื่อทำการเก็บค่าสถานะของหน่วยประมวลผลกลาง ได้แก่ รีจีสเตอร์และตำแหน่งคำสั่งถัดไปในการปฏิบัติการของโปรแกรม จากนั้นระบบปฏิบัติการจะพิจารณาว่าเป็นการขัดจังหวะประเภทใด โดยใช้วิธีการการติดต่อระหว่างซีพียูกับอุปกรณ์รอบข้างที่เรียกว่า การขัดจังหวะหรือการอินเตอร์รัพ (interrupt) ซึ่งมีการติดต่อแบบต่างๆ คือแบบพอลลิ่ง (polling),แบบ อินเตอร์รัพ (interrupt) และแบบเมลบ๊อกซ์ (mailbox) ซึ่งจะอธิบายโดยรายละเอียดในบทถัดไป

แหล่งที่มา

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://th.wikipedia.org/wiki/ระบบปฏิบัติการ

หน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://jsbg.joseph.ac.th/pm08/alesson/computer%20p3%20p4/__1.html

ซอฟท์แวร์ คืออะไร ?. สืบค้นเมื่อ 12 กันยายน 2561.จาก https://web.ku.ac.th/schoolnet/snet1/software/software/

ซอฟต์แวร์ประยุกต์คืออะไร แบ่งออกเป็นกี่ประเภท อะไรบ้าง จงอธิบาย.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/mju5303103351cs203/sxftwaer-prayukt-khux-xari-baeng-xxk-pen-ki-prapheth-xari-bang-cng-xthibay

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://kanchanapisek.or.th/kp6/sub/book/book.php?book=25&chap=1&page=t25-1-infodetail05.html

ความหมายและหน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/choothong13/rabb-ptibati-kar/1-khwam-hmay-laea-hnathi-khxng-rabb-ptibati-kar

ระบบปฏิบัติการคอมพิวเตอร์.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/fawdahshop/kar-prakxb-khxmphiwtexr/rabb-pdibati-kar-khxmphiwtexr

ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://home.kku.ac.th/regis/student/snakiiz/New%20Folder/11.html

หน่วยคำนวณและตรรกะ. สืบค้นเมื่อ 12 กันยายน 2561.จาก http://snapdragon-surachet.blogspot.com/2013/06/arithmetic-logical-unit-alu.html?view=sidebar

Return to contents


ระบบปฏิบัติการตอนที่ 5

รายละเอียดเกี่ยวกับการติดต่อระหว่างอุปกรณ์รอบข้างกับซีพียู

       ตามที่กล่าวไปว่า ลักษณะการทำงานโดยใช้การขัดจังหวะของระบบปฏิบัติการนี้เป็นตัวกำหนดโครงสร้างโดยทั่วไปของระบบ เมื่อมีการขัดจังหวะเกิดขึ้น ฮาร์ดแวร์จะส่งการควบคุมไปยังระบบปฏิบัติการ เพื่อทำการเก็บค่าสถานะของหน่วยประมวลผลกลาง ได้แก่ รีจีสเตอร์และตำแหน่งคำสั่งถัดไปในการปฏิบัติการของโปรแกรม จากนั้นระบบปฏิบัติการจะพิจารณาว่าเป็นการขัดจังหวะประเภทใด โดยใช้วิธีการการติดต่อระหว่างซีพียูกับอุปกรณ์รอบข้างที่เรียกว่า การขัดจังหวะหรือการอินเตอร์รัพ (interrupt) ซึ่งมีการติดต่อแบบต่างๆ คือแบบพอลลิ่ง (polling),แบบ อินเตอร์รัพ (interrupt) และแบบเมลบ๊อกซ์ (mailbox) ดังมีรายละเอียดดังนี้

         1. การติดต่อแบบพอลลิ่ง (polling) ลักษณะการติดต่อแบบนี้คือ ทุกๆ ช่วงเวลาหนึ่ง (Quantum time) ซีพียูจะหยุดงานที่ทำอยู่ชั่วคราวและไปตรวจเช็คที่แต่ละแชนแนลเพื่อดูว่า มีอุปกรณ์ตัวใดบ้างต้องการส่งข้อมูลมาให้ซีพียูจากอุปกรณ์แรกไปถึงอุปกรณ์สุดท้าย ถ้าอุปกรณ์ต้องการส่งข้อมูล ซีพียูก็จะรับข้อมูลมาแต่ถ้าอุปกรณ์นั้นไม่ต้องการส่งข้อมูล ซีพียูก็จะเปลี่ยนไปตรวจสอบอุปกรณ์ตัวอื่นต่อไปจนกระทั่งตรวจสอบครบหมด ซีพียูจะกลับไปทำงานของมันตามเดิม วนรอบ (Loop) การทำงานเช่นนี้เรื่อยไปลักษณะของการพอลลิ่ง อาจยกตัวอย่างของการสอนหนังสือในห้องเรียนมาประกอบเพื่อความเข้าใจ นั่นคือในขณะที่ครูกำลังสอนนักเรียน ทุก ๆ 10 นาที คุณครูจะหยุดสอนและไล่ถามนักเรียนทีละคนว่ามีปัญหาอะไรหรือไม่ ถ้านักเรียนคนที่ถูกถามไม่มีคำถามหรือข้อสงสัยคุณครูก็เปลี่ยนไปถามนักเรียนคนถัดไป แต่ถ้า นักเรียนคนนั้นมีปัญหาจะถาม ครูก็จะอนุญาตให้นักเรียนถามได้ เมื่อถาม-ตอบเสร็จแล้วครูก็จะไปถามนักเรียนคนอื่นต่อจนหมดชั้น แล้วครูจึงกลับไปสอนต่อจนอีก 10 นาทีจึงเริ่มต้นถามใหม ข้อเสียของการพอลลิ่งคือ ในกรณีที่อุปกรณ์ต่างๆ ไม่ต้องการส่งข้อมูลเลย ซีพียูจะเสียเวลาที่ต้องตรวจเช็คอุปกรณ์ทุกตัว (คุณครูเสียเวลาในการถามนักเรียนทุกคน โดยที่อาจไม่มีนักเรียนคนไหนมีคำถามเลย) และอีกประการหนึ่งคืออุปกรณ์ที่ต้องการส่งข้อมูลจะส่งข้อมูลให้ซีพียูได้เฉพาะเมื่อถึงเวลาที่ซีพียูตรวจเช็คมาถึงตัวมันเท่านั้น ทำให้อุปกรณ์นั้นเสียเวลาในการรอ (นักเรียนต้องรอจนกว่าคุณครูถามมาถึงตัวเขา เขาถึงจะถามคำถามได้)

          2. การติดต่อแบบอินเตอร์รัพ (interrupt) ลักษณะการติดต่อแบบนี้จะลดข้อเสียแบบพอลลิ่งได้มาก มีขั้นตอนดังนี้คือ เมื่ออุปกรณ์ตัวใดต้องการส่งข้อมูล มันจะส่งสัญญาณผ่านทางแชนแนลไปบอกซีพียู เมื่อซีพียูรับทราบแล้วจะหยุดงานที่ทำอยู่ชั่วคราว เพื่อให้อุปกรณ์ทำการส่งข้อมูลจนกระทั่งเสร็จสิ้นลง ซีพียูจึงกลับไปทำงานที่ทำค้างไว้ต่อ เปรียบได้กับการที่คุณครูสอนไปเรื่อยๆ เมื่อนักเรียนคนใดมีคำถามจะถาม ก็ยกมือเป็นการบอกให้คุณครูรับทราบ (ส่งสัญญาณให้ซีพียู) เมื่อคุณครูเห็นนักเรียนยกมือ (CPU รับรู้การต้องการส่งข้อมูล) ก็หยุดสอนชั่วคราวเปิดโอกาสให้นักเรียนได้ถาม (ส่งข้อมูล) และตอบคำถาม เมื่อนักเรียนเข้าใจในปัญหาที่มีอยู่ (การส่ง ข้อมูลสิ้นสุดลง) ครูก็เริ่มสอนนักเรียนต่อไป (ซีพียูกลับมาทำงานที่ค้างไว้) การติดต่อแบบอินเตอร์รัพต์ ซีพียูไม่ต้องเสียเวลาในการตรวจเช็คความต้องการส่งข้อมูลของอุปกรณ์ ทุกตัว และในทำนองเดียวกันอุปกรณ์ก็ไม่ต้องเสียเวลารอแต่อย่างไรก็ตามซีพียูอาจไม่สามารถหยุดงานที่กำลังทำอยู่ได้ในทันที ในกรณีนี้อุปกรณ์ตัวนั้นต้องรอจนกระทั่งงานที่ซีพียูกำลังทำอยู่นี้เสร็จสิ้นลงเสียก่อน มันจึงส่งข้อมูลได้

          3. การติดต่อแบบเมลบ๊อกซ์ (mailbox) ลักษณะการติดต่อแบบนี้ ระบบต้องเสียเนื้อที่ในหน่วย ความจำบางส่วนเพื่อเป็นที่สำหรับพักข้อมูล เมื่อมีอุปกรณ์บางตัวที่ต้องการส่งข้อมูล มันก็จะส่งข้อมูลไปไว้ที่หน่วยความจำส่วนนี้ และสำหรับซีพียูทุกๆ ช่วงเวลาหนึ่งๆ ซีพียูจะหยุดงานที่ทำไว้เพื่อจะไปตรวจสอบที่หน่วยความจำส่วนนี้เพื่อดูว่ามีข้อมูลอยู่หรือไม่ ถ้าไม่มี ข้อมูลถูกส่งไปไว้ในหน่วยความจำนี้ ซีพียูจะกลับไปทำงานเดิมที่ค้างไว้ แต่ถ้ามีมันก็จะรับข้อมูลเข้ามา จะเห็นได้ว่าการติดต่อแบบเมลบ๊อกซ็นี้เป็นการผสมผสานระหว่างการอินเทอร์รัพต์กับการพอลลิ่ง

          ที่อธิบายมานี้เป็นการติดต่อในรูปแบบที่อุปกรณ์ภายนอกต้องการส่งข้อมูลให้ซีพียู ในทำนองเดียวกับ ถ้าซีพียูต้องการส่งข้อมูลให้กับอุปกรณ์ต่างๆ ก็ทำได้ในลักษณะเดียวกัน

แหล่งที่มา

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://th.wikipedia.org/wiki/ระบบปฏิบัติการ

หน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://jsbg.joseph.ac.th/pm08/alesson/computer%20p3%20p4/__1.html

ซอฟท์แวร์ คืออะไร ?. สืบค้นเมื่อ 12 กันยายน 2561.จาก https://web.ku.ac.th/schoolnet/snet1/software/software/

ซอฟต์แวร์ประยุกต์คืออะไร แบ่งออกเป็นกี่ประเภท อะไรบ้าง จงอธิบาย.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/mju5303103351cs203/sxftwaer-prayukt-khux-xari-baeng-xxk-pen-ki-prapheth-xari-bang-cng-xthibay

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://kanchanapisek.or.th/kp6/sub/book/book.php?book=25&chap=1&page=t25-1-infodetail05.html

ความหมายและหน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/choothong13/rabb-ptibati-kar/1-khwam-hmay-laea-hnathi-khxng-rabb-ptibati-kar

ระบบปฏิบัติการคอมพิวเตอร์.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/fawdahshop/kar-prakxb-khxmphiwtexr/rabb-pdibati-kar-khxmphiwtexr

ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://home.kku.ac.th/regis/student/snakiiz/New%20Folder/11.html

หน่วยคำนวณและตรรกะ. สืบค้นเมื่อ 12 กันยายน 2561.จาก http://snapdragon-surachet.blogspot.com/2013/06/arithmetic-logical-unit-alu.html?view=sidebar

Return to contents


ระบบปฏิบัติการตอนที่ 6

วิวัฒนาการและชนิดของระบบปฏิบัติการ

            ในสมัยก่อนที่เริ่มมีการประดิษฐ์เครื่องคำนวณ ผู้ประดิษฐ์เครื่องจะเป็นผู้เดียวที่สามารถใช้เครื่องนั้นได้ หรือไม่ก็ต้องเป็นผู้ที่มีความรู้เกี่ยวกับการทำงานของเครื่องอย่างถ่องแท้เท่านั้นที่จะใช้เครื่องได้ จุดประสงค์ของการสร้างเครื่องคำนวณก็เพื่อช่วยเหลือนักวิทยาศาสตร์ในการคำนวณฟังก์ชั่นต่างๆที่ยุ่งยากสลับซับซ้อน และเสียเวลาในการคำนวณนาน เมื่อสร้างเป็นเครื่องจักรขึ้นมาจึงทำให้นักวิทยาศาสตร์ไม่ต้องเสียเวลาในการคำนวณฟังก์ชั่นเหล่านั้น เพียงแต่ส่งให้เครื่องคำนวณช่วยคำนวณให้ อย่างไรก็ตามนักวิทยาศาสตร์ก็ยังต้องอาศัยผู้สร้างซึ่งเป็น ผู้เดียวที่สามารถใช้เครื่องนั้นได้ การพัฒนาเครื่องคำนวณเหล่านี้มีมาตลอดจนกระทั่งมาเป็นเครื่องคอมพิวเตอร์ ในปัจจุบัน เครื่องคอมพิวเตอร์ในยุคแรกๆ ก็ยังมีปัญหาเช่นเดียวกับเครื่องคำนวณ คือ ผู้ประดิษฐ์เครื่องเท่านั้น ที่จะเขียนโปรแกรมควบคุมมันได้ ทั้งนี้เพราะโปรแกรมต้องอาศัยความเข้าใจในการทำงานทุกขั้นตอนของเครื่องและต้องใช้คำสั่งเป็นภาษาเครื่อง (machine language) เท่านั้น ซึ่งภาษาเครื่องนี้ผู้ประดิษฐ์เครื่องจะเป็นผู้กำหนดขึ้นเอง

           รหัสเครื่อง หรือ ภาษาเครื่อง คือกลุ่มของคำสั่งเครื่องที่กระทำการโดยตรงโดยหน่วยประมวลผลกลาง (CPU) ของคอมพิวเตอร์ คำสั่งเครื่องแต่ละคำสั่งจะปฏิบัติงานเฉพาะกิจงานเดียวเท่านั้น เช่นการบรรจุ (load) การกระโดด (jump) หรือการดำเนินการผ่านหน่วยคำนวณและตรรกะ (ALU) บนหน่วยของข้อมูลในหน่วยความจำหรือเรจิสเตอร์ ทุก ๆ โปรแกรมที่กระทำการโดยหน่วยประมวลผลกลางสร้างขึ้นจากอนุกรมของคำสั่งเครื่องเช่นว่านั้น

        รหัสเครื่องเชิงตัวเลข (ซึ่งไม่ใช่รหัสแอสเซมบลี) อาจพิจารณาได้ว่าเป็นตัวแทนระดับต่ำสุดของโปรแกรมคอมพิวเตอร์ที่ได้คอมไพล์และ/หรือเขียนด้วยภาษาแอสเซมบลี หรือเป็นภาษาโปรแกรมแบบดั้งเดิมและขึ้นอยู่กับฮาร์ดแวร์ ถึงแม้ว่าเราจะสามารถเขียนโปรแกรมด้วยรหัสเครื่องเชิงตัวเลขโดยตรงก็ได้ แต่การจัดการบิตต่าง ๆ เป็นเอกเทศ และการคำนวณตำแหน่งที่อยู่กับค่าคงตัวเชิงตัวเลขด้วยมือ จะทำให้น่าเบื่อหน่ายและมีแนวโน้มที่จะเกิดความผิดพลาด ดังนั้นการเขียนรหัสเครื่องจึงไม่ค่อยกระทำกันในทุกวันนี้ เว้นแต่ในสถานการณ์ที่ต้องการทำให้เหมาะสมอย่างที่สุดหรือแก้จุดบกพร่อง

       ปัจจุบันนี้โปรแกรมเกือบทั้งหมดในทางปฏิบัติเขียนขึ้นด้วยภาษาแอสเซมบลีหรือภาษาระดับสูงกว่า แล้วแปลเป็นรหัสเครื่องที่กระทำการได้โดยคอมไพเลอร์และ/หรือแอสเซมเบลอร์ กับลิงเกอร์ อย่างไรก็ดี โปรแกรมที่เขียนด้วยภาษาที่แปลด้วยอินเทอร์พรีเตอร์ จะไม่ถูกแปลเป็นรหัสเครื่อง ถึงแม้ว่าอินเทอร์พรีเตอร์ (ซึ่งอาจเห็นเป็นชื่อ ตัวกระทำการ หรือ ตัวประมวลผล) โดยทั่วไปประกอบขึ้นจากรหัสเครื่องที่กระทำการได้โดยตรง

คำสั่งเครื่องที่เป็นรหัสเครื่อง

        หน่วยประมวลผลหรือตระกูลของหน่วยประมวลผลทุก ๆ ชิ้นมีชุดของคำสั่งเครื่อง (instruction set) ที่เป็นรหัสของมันเอง คำสั่งเครื่องคือแบบรูปต่าง ๆ ของบิต ซึ่งการออกแบบเชิงกายภาพสอดคล้องกับคำสั่งงานที่แตกต่างกันของเครื่อง ดังนั้นชุดของคำสั่งเครื่องจึงใช้ได้กับประเภทของหน่วยประมวลผลที่ใช้สถาปัตยกรรมเดียวกัน การออกแบบหน่วยประมวลผลรุ่นหลังหรือรุ่นต่อยอดก็มักจะรวมคำสั่งทั้งหมดของรุ่นก่อนหน้าไว้ และอาจเพิ่มเติมคำสั่งใหม่เข้าไปอีกด้วย หน่วยประมวลผลรุ่นหลังอาจยกเลิกหรือเปลี่ยนแปลงรหัสของคำสั่งเครื่องในบางครั้ง (สาเหตุทั่วไปก็คือมันจำเป็นสำหรับจุดประสงค์ใหม่) ส่งผลกระทบต่อความเข้ากันได้ของรหัสในบางขอบข่าย แม้กระทั่งหน่วยประมวลผลที่เข้ากันได้เกือบสมบูรณ์ก็อาจแสดงพฤติกรรมต่างไปจากเดิมเล็กน้อยสำหรับบางคำสั่ง แต่ปัญหานี้พบได้น้อยมาก ระบบต่าง ๆ ก็อาจแตกต่างกันในรายละเอียดอื่น เช่น การจัดการหน่วยความจำ ระบบปฏิบัติการ หรืออุปกรณ์รอบข้าง เนื่องจากตามปกติแล้วโปรแกรมจะยึดถือปัจจัยดังกล่าว ระบบที่แตกต่างกันก็จะไม่ทำงานด้วยรหัสเครื่องที่เหมือนกัน ถึงแม้ว่าใช้หน่วยประมวลผลชนิดเดียวกันก็ตาม

       รหัสของชุดของคำสั่งเครื่องอาจมีความยาวเท่ากันหมดทุกคำสั่งหรือมีความยาวแปรผันก็ได้ วิธีการจัดการแบบรูปของรหัสเครื่องขึ้นอยู่กับสถาปัตยกรรมนั้น ๆ เป็นอย่างยิ่ง และมักจะขึ้นอยู่กับชนิดของคำสั่ง คำสั่งเครื่องส่วนมากมีฟีลด์ออปโคด (opcode) หนึ่งฟีลด์หรือมากกว่าซึ่งใช้ระบุชนิดของคำสั่งพื้นฐาน (เช่นเลขคณิต ตรรกศาสตร์ การกระโดด ฯลฯ) และการดำเนินการแท้จริง (เช่นการบวก การเปรียบเทียบ) และมีฟีลด์อื่น ๆ ที่อาจใช้สำหรับระบุชนิดของตัวถูกดำเนินการ (operand) ภาวะการกำหนดตำแหน่งที่อยู่ (addressing mode) ออฟเซตของตำแหน่งที่อยู่หรือดัชนี หรือค่าแท้จริงโดยตัวมันเอง (ตัวถูกดำเนินการที่เป็นค่าคงตัวที่บรรจุอยู่ในคำสั่งเครื่องเช่นนั้นเรียกว่า ค่าใช้ทันที, immediate)[2]

         ไม่ใช่ว่าทุกเครื่องหรือทุกคำสั่งจะมีตัวถูกดำเนินการชัดแจ้ง เครื่องที่ใช้ตัวสะสม (accumulator machine) มีตัวถูกดำเนินการข้างซ้ายแบบผสม และคืนค่าผลลัพธ์ในตัวสะสม (accumulator) ปริยาย สำหรับคำสั่งเลขคณิตส่วนใหญ่ สถาปัตยกรรมอื่น (เช่น 8086 และตระกูล x86) มีคำสั่งธรรมดาในรุ่นของตัวสะสมอยู่ด้วย ซึ่งคำสั่งที่ยาวกว่าจะทำเรจิสเตอร์อันหนึ่งในเรจิสเตอร์ทั่วไปเป็นตัวสะสม เครื่องที่ใช้กองซ้อน (stack machine) มีตัวถูกดำเนินการส่วนใหญ่หรือทั้งหมดอยู่บนกองซ้อนปริยาย คำสั่งเครื่องที่มีจุดประสงค์พิเศษก็มักจะขาดตัวถูกดำเนินการชัดแจ้ง (ตัวอย่างเช่น ซีพียูไอดีในสถาปัตยกรรม x86 เขียนค่าต่าง ๆ ลงในเรจิสเตอร์ปลายทางเป็นปริยาย 4 เรจิสเตอร์) ความแตกต่างระหว่างตัวถูกดำเนินการชัดแจ้งกับปริยายเช่นนี้สำคัญต่อโปรแกรมสร้างรหัสเครื่อง โดยเฉพาะอย่างยิ่งในเรื่องการจัดสรรเรจิสเตอร์และส่วนติดตามพิสัยแบบสด โปรแกรมทำรหัสให้เหมาะที่สุด (code optimizer) ที่ดีสามารถติดตามตัวถูกดำเนินการทั้งชัดแจ้งและปริยาย ซึ่งอาจช่วยให้เกิดการแพร่กระจายค่าคงตัว (constant propagation) ได้บ่อยยิ่งขึ้น การพับทบค่าคงตัว (constant folding) ของเรจิสเตอร์ (เรจิสเตอร์ที่กำหนดให้เป็นผลลัพธ์จากนิพจน์ของค่าคงตัวจะถูกแทนที่ด้วยค่าคงตัวนั้น) และการปรับปรุงรหัสอื่น ๆ ให้ดีขึ้น

แหล่งที่มา

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://th.wikipedia.org/wiki/ระบบปฏิบัติการ

หน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://jsbg.joseph.ac.th/pm08/alesson/computer%20p3%20p4/__1.html

ซอฟท์แวร์ คืออะไร ?. สืบค้นเมื่อ 12 กันยายน 2561.จาก https://web.ku.ac.th/schoolnet/snet1/software/software/

ซอฟต์แวร์ประยุกต์คืออะไร แบ่งออกเป็นกี่ประเภท อะไรบ้าง จงอธิบาย.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/mju5303103351cs203/sxftwaer-prayukt-khux-xari-baeng-xxk-pen-ki-prapheth-xari-bang-cng-xthibay

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://kanchanapisek.or.th/kp6/sub/book/book.php?book=25&chap=1&page=t25-1-infodetail05.html

ความหมายและหน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/choothong13/rabb-ptibati-kar/1-khwam-hmay-laea-hnathi-khxng-rabb-ptibati-kar

ระบบปฏิบัติการคอมพิวเตอร์.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/fawdahshop/kar-prakxb-khxmphiwtexr/rabb-pdibati-kar-khxmphiwtexr

ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://home.kku.ac.th/regis/student/snakiiz/New%20Folder/11.html

หน่วยคำนวณและตรรกะ. สืบค้นเมื่อ 12 กันยายน 2561.จาก http://snapdragon-surachet.blogspot.com/2013/06/arithmetic-logical-unit-alu.html?view=sidebar

รหัสเครื่อง. สืบค้นเมื่อ 12 กันยายน 2561.จาก https://th.wikipedia.org/wiki/รหัสเครื่อง

Return to contents


ระบบปฏิบัติการตอนที่ 7

ลำดับวิวัฒนาการระบบปฏิบัติการ

สามารถจำแนกได้ดังนี้

  1. การป้อนงานแบบกลุ่มด้วยมือ (Manual batch system) พ.ศ. 2483 – 2492

  2. การป้อนงานแบบกลุ่มโดยอัตโนมัติ(Automatic batch processing) พ.ศ. 2493 - 2497

  3. ระบบมัลติโปรแกรมมิ่ง (Multiprogramming system) ระบบปฏิบัติการรุ่นที่ 2 พ.ศ. 2498-2508

  4. ระบบเอนกประสงค์ (General purpose system) ระบบปฏิบัติการรุ่นที่ 3 พ.ศ. 2509- 2512

  5. ระบบเครือข่าย (Computer network) ระบบปฏิบัติการรุ่นที่ 4 พ.ศ. 2513 - ปัจจุบัน

  6. ระบบฐานข้อมูล (Database System) 

การป้อนงานแบบกลุ่มด้วยมือ (Manual batch system) พ.ศ. 2483 – 2492

           ในสมัยแรกเริ่มราวปี พ.ศ.2483-2492 เครื่องคอมพิวเตอร์มีแต่เครื่องเปล่าๆ ยังไม่มีระบบปฏิบัติการใดๆ เลย ผู้ใช้เครื่องต้องเขียนโปรแกรมเป็นภาษาเครื่องทั้งหมด รวมถึงควบคุมเครื่อง ตระเตรียมงาน ตรวจสอบ และทำโปรแกรม และลักษณะการใช้เช่นนี้ ทำให้ประโยชน์ใช้สอย (utilization) ของเครื่องต่ำมาก โดยเฉพาะเมื่อเครื่องในสมัยก่อนมีราคาแพงมากเมื่อเทียบกับเครื่องในสมัยนี้ ซึ่งมีความสามารถทัดเทียมกัน ดังนั้น จึงมีการจ้างพนักงานคุมเครื่อง (operator) เพื่อลดเวลาที่เสียไปในการตระเตรียมงาน (set-up time) และเวลาที่ต้องเก็บกวาด (tear-down time) ซึ่งนอกจากพนักงานคุมเครื่องอาชีพจะชำนาญกว่าผู้ใช้แล้ว ยังสามารถจัดงานที่มีลักษณะคล้ายคลึงกันไว้พวกเดียวกัน เช่น งานที่ต้องใช้ตัวแปลภาษา (translator หรือ compiler) ตัวเดียวกัน ลักษณะนี้เรียกว่า เป็นการป้อนงานแบบกลุ่มด้วยมือ (manual batch system) ระบบการทำงานแบบนี้ทำให้เกิดปัญหาคือการสั่งงานแต่ละครั้งซึ่งใช้เวลานาน เพราะในขณะที่มีการนำตัวแปลภาษาเข้าหรือออกจากหน่วยความจำหลักนั้นใช้เวลาในการติดตั้งนานแล้วยังทำให้สูญเสียเวลาของหน่วยประมวลผลโดยเปล่าประโยชน์ และต้องทำขั้นตอนเดิมๆ กับงานทุกงานที่เข้ามาในระบบ นอกจากนี้ยังเกิดข้อผิดพลาดในโปรแกรมและจะต้องเริ่มต้นใหม่เสมอ

การป้อนงานแบบกลุ่มโดยอัตโนมัติ(Automatic batch processing) พ.ศ. 2493 - 2497

          แม้ว่าจะมีการใช้พนักงานคุมเครื่องมืออาชีพ แต่เวลาของเครื่องก็ยังทิ้งเสียเปล่าในขณะที่พนักงาน ตรวจสอบความต้องการของงาน หางาน (ซึ่งโดยปกติอยู่ในรูปของบัตรเจาะรู และเทปแม่เหล็ก) และป้อนงานเข้า สู่เครื่อง (เช่นใส่บัตรในเครื่องอ่านบัตร หรือใสเทปในตู้เทป) รวมถึงการนำงานนั้นๆ ออกจากเครื่อง (เช่น เก็บเทป เก็บบัตร หรือฉีกกระดาษผลลัพธ์เป็นต้น) ดังนั้นในช่วงต้นทศวรรษที่ 5 General Motors Research Laboratories ได้พัฒนาระบบปฏิบัติการรุ่นแรก ออกมาโดยใช้กับเครื่อง IBM 701 ที่ใช้กันอยู่ในห้องทดลองนั้นเรียกว่าเป็นการประมวลผลแบบกลุ่มอัตโนมัติ (automatic batch processing) ระบบปฏิบัติการรุ่นแรกนี้ เป็นเพียงโปรแกรมเล็กๆ ซึ่งอยู่ในเครื่องตลอดเวลา (resident monitor) ประกอบด้วย 3 ส่วน คือ โหลดเดอร์ (loader) ตัวจัดลำดับงานโดยอัตโนมัติ (automatic job sequencing) และตัวแปรบัตรควบคุม (control card interpreter) ซึ่งตัวมอนิเตอร์นี้ ทำหน้าที่ส่งงานเข้าไปในระบบอย่างต่อเนื่องโดยอัตโนมัติ และอยู่ในหน่วยความจำหลักตลอดเวลาที่เครื่องคอมพิวเตอร์ทำงาน โดยมีการแบ่งหน่วยความจำหลักเป็น 2 ส่วน ส่วนหนึ่งสำหรับโปรแกรมของผู้ใช้ และอีกส่วนหนึ่งเป็นของระบบปฏิบัติการเมื่อเริ่มต้นระบบ ตัวระบบปฏิบัติการ(มอนิเตอร)์จะถูกเรียกใช้ โดยโหลดเดอร์จะนำโปรแกรมระบบและโปรแกรมผู้ใช้เข้าสู่หน่วยความจำหลักแล้วส่งการควบคุมไปยังโปรแกรมเพื่อทำงานต่อไป หลังจากสิ้นสุดการทำงานของโปรแกรมหนึ่งๆ จะส่งการควบคุมกลับไปยังตัวระบบปฏิบัติการ เพื่อนำงานชิ้นต่อไปเข้ามา และจะส่งมอบการควบคุมเครื่องให้กับโปรแกรมของผู้ใช้ทีละโปรแกรมเรียงลำดับตามกันไป ซึ่งในกรณีนี้ จะต้องมีข้อมูลปะหน้าและท้ายโปรแกรม เพื่อยกงานออกจากกัน รวมทั้งบอกระบบปฏิบัติการถึงลักษณะงาน เช่น ตัวแปลภาษาที่ต้องใช้ ตู้เทป และเลขหมายของม้วนเทป เป็นต้น ซึ่งเกิดเป็นภาษาใหม่ขึ้น คือ ภาษาคุมงาน (job control language หรือ JCL)ปัญหาที่สำคัญอีกประการหนึ่ง คือ ความแตกต่างของความเร็วระหว่างหน่วยประมวลผลกลาง กับอุปกรณ์นำข้อมูลเข้า/ออก แม้ว่าจะได้มีการพัฒนาอุปกรณ์นำข้อมูลเข้า/ออกแล้วก็ตาม แต่ขีดจำกัดของเครื่อง กลไกก็ยังทำให้อุปกรณ์เหล่านี้ช้ากว่าหน่วยประมวลผลกลางซึ่งทำงานด้วยความเร็วของวงจรอิเล็กทรอนิกส์เป็นหลายพันเท่า ความแตกต่างนี้ทำให้การใช้ประโยชน์ของหน่วยประมวลผลกลางต่ำมาก ตัวอย่างเช่น การแปลภาษาเครื่องของงานหนึ่ง ใช้เวลาของหน่วยประมวลผลกลางเพียง 4.8 วินาที ขณะที่การอ่านโปรแกรมนั้น (1,579 บัตร ความเร็ว 1,200 บัตรต่อนาที) ใช้เวลา 78.9 วินาที ดังนั้นหน่วยประมวลผลกลางจะต้องรอเครื่องอ่านบัตร 74.1 วินาที หรือร้อยละ 93.9 ของเวลาที่ใช้ในการทำงานชิ้นนี้ เรียกได้ว่าการใช้ประโยชน์ (utilization) ของหน่วยประมวลผลกลางเป็นเพียงร้อยละ 6.1 เท่านั้น ซึ่งหากรวมความล่าช้าในการแสดงผลเข้าไปด้วยแล้ว การใช้ประโยชน์ของหน่วยประมวลผลกลางก็ยิ่งต่ำลงไปอีก วิธีแก้ปัญหานี้ นับจากสมัยแรกเริ่ม ได้แก่การใช้ระบบ buffering ระบบ off-line และระบบ spooling

การทำงานแบบ Buffering

        แนวความคิดนี้คือ ให้หน่วยนำข้อมูลเข้า/ออกทำงานขนานไปพร้อมกันกับหน่วยประมวลผลกลางมากที่สุดเท่าที่จะทำได้ วิธีการคือ ขณะที่หน่วยประมวลผลกลางประมวลผลข้อมูลจำนวนหนึ่ง หน่วยรับข้อมูลจะอ่านข้อมูลถัดไปเข้ามาไว้ในหน่วยความจำ ส่วนที่เตรียมไว้เพื่อการนี้ ซึ่งเรียกว่าบัฟเฟอร์ (buffer) ซึ่งหากการอ่านข้อมูล (หรือการพิมพ์ผลลัพธ์) สำหรับข้อมูลแต่ละหน่วย ใช้เวลาเท่ากับการประมวลผลข้อมูลแต่ละหน่วยพอดี อุปกรณ์ทั้งสองประเภทนี้ไม่ต้องรอซึ่งกันและกัน ทำให้ได้ประโยชน์ใช้สอยเต็มที่ คือร้อยละร้อย แต่ในความจริงแล้วจะเกิดความเหลื่อมล้ำ (mismatch) ของเวลาการทำงานสำหรับข้อมูลแต่ละหน่วย ความเหลื่อมล้ำนี้ ขึ้นกับสาเหตุที่สำคัญสองประการคือ อัตราความเร็วของอุปกรณ์ต่างๆ และประเภทของงานที่ต่างกัน 
การทำงานแบบ Off-line

        การทำงานแบบนี้เป็นวิธีการนำมาเพื่อแก้ปัญหาความเหลื่อมล้ำของความเร็ว สามารถผ่อนหนักเป็นเบาได้วิธีหนึ่ง โดยการใช้เทปแม่เหล็กมาแทนเครื่องอ่านบัตรหรือเครื่องพิมพ์ที่มีความเร็วต่ำมาก วิธีการคือการจำลองข้อมูลจากบัตรลงบนเทปแม่เหล็ก เมื่อโปรแกรมต้องการอ่านบัตร ระบบปฏิบัติการจะเปลี่ยนไปอ่านเทปให้แทน ส่วนการพิมพ์ผลก็ทำทำนองเดียวกัน โดยการพิมพ์ลงเทปแม่เหล็กก่อน แล้วนำเทปนั้นไปถ่ายออกเครื่องพิมพ์อีกที การถ่ายเทข้อมูลผ่านเทปนี้กระทำได้สองวิธีคือ ใช้เครื่องอ่านบัตรและเครื่องพิมพ์ที่ออกแบบมาเป็นพิเศษ สามารถถ่ายเทข้อมูลกับเครื่องอ่านเทปแม่เหล็กได้โดยตรง ไม่ต้องผ่านหน่วยประมวลผลกลาง ส่วนอีกวิธีหนึ่งคือ ใช้อุปกรณ์มาตรฐานปกติ แต่ใช้เครื่องคอมพิวเตอร์ขนาดเล็ก เป็นตัวถ่ายเทข้อมูล แทนที่จะใช้เครื่องใหญ่ 
การทำงานโดยอาศัยเทปแม่เหล็กนี้ จะต้องได้รับความช่วยเหลือจากระบบปฏิบัติการในอันที่จะให้คำสั่งรับข้อมูลหรือแสดงผล (input/output operation) ในโปรแกรมของผู้ใช้สามารถเปลี่ยนไปใช้กับอุปกรณ์ ใดๆก็ได้ ขึ้นอยู่กับความเหมาะสมในการบริหารระบบ ลักษณะการทำงานเช่นนี้เรียกว่า อิสระภาพจากอุปกรณ์ (device independence) 
การทำงานแบบ Spooling

        เมื่อเทคโนโลยีของจานแม่เหล็กได้รับการพัฒนามากขึ้น ระบบปฏิบัติการก็เริ่มหันมาใช้จานแม่เหล็กแทนเทปแม่เหล็กด้วยเหตุผลสำคัญประการหนึ่งที่เห็นได้ชัด คือ การไม่สามารถทำการประมวลผลข้อมูลในเทป ไปพร้อมๆ กับที่ถ่ายเทข้อมูลจากเครื่องอ่านบัตร ลงเทปม้วนเดียวกันนั้นได้ หลักการใช้จานแม่เหล็กมีลักษณะคล้ายกับเทปแม่เหล็ก ข้อแตกต่างที่สำคัญมีด้วยกันสองประการคือ เนื่องจากการเข้าถึง (access) ของจานแม่เหล็กเป็นแบบตรง (direct) ไม่ใช่แบบเรียงลำดับ (sequential) อย่างเทปแม่เหล็ก จึงทำให้สามารถแยกงานออกจากกันได้ โดยสร้างตารางบ่งบอกว่าข้อมูล (หรือผลลัพธ์) ของงานใดอยู่ในส่วนใดของจานบันทึก 

แหล่งที่มา

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://th.wikipedia.org/wiki/ระบบปฏิบัติการ

หน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://jsbg.joseph.ac.th/pm08/alesson/computer%20p3%20p4/__1.html

ซอฟท์แวร์ คืออะไร ?. สืบค้นเมื่อ 12 กันยายน 2561.จาก https://web.ku.ac.th/schoolnet/snet1/software/software/

ซอฟต์แวร์ประยุกต์คืออะไร แบ่งออกเป็นกี่ประเภท อะไรบ้าง จงอธิบาย.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/mju5303103351cs203/sxftwaer-prayukt-khux-xari-baeng-xxk-pen-ki-prapheth-xari-bang-cng-xthibay

ระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก http://kanchanapisek.or.th/kp6/sub/book/book.php?book=25&chap=1&page=t25-1-infodetail05.html

ความหมายและหน้าที่ของระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/choothong13/rabb-ptibati-kar/1-khwam-hmay-laea-hnathi-khxng-rabb-ptibati-kar

ระบบปฏิบัติการคอมพิวเตอร์.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://sites.google.com/site/fawdahshop/kar-prakxb-khxmphiwtexr/rabb-pdibati-kar-khxmphiwtexr

ความรู้เบื้องต้นเกี่ยวกับระบบปฏิบัติการ.สืบค้นเมื่อ 12 กันยายน 2561.จาก https://home.kku.ac.th/regis/student/snakiiz/New%20Folder/11.html

หน่วยคำนวณและตรรกะ. สืบค้นเมื่อ 12 กันยายน 2561.จาก http://snapdragon-surachet.blogspot.com/2013/06/arithmetic-logical-unit-alu.html?view=sidebar

รหัสเครื่อง. สืบค้นเมื่อ 12 กันยายน 2561.จาก https://th.wikipedia.org/wiki/รหัสเครื่อง

Return to contents