วันพุธที่ 21 ธันวาคม พ.ศ. 2559

บทที่ 5


 การติดตั้งระบบปฏิบัติการ



 สิทธิความเป็นเจ้าของ ซอฟต์แวร์


ซอฟต์แวร์กรรมสิทธิ์ (proprietary software) คือ ซอฟต์แวร์ที่สิทธิ์ในการใช้งานและทำซ้ำถูกจำกัดหรือสงวนสิทธิ์ไว้โดยเจ้าของซอฟต์แวร์หรือผู้จัดทำ ผู้อื่นไม่สามารถนำมาใช้งานหรือทำซ้ำได้นอกจากได้รับอนุญาตในสิทธิ์นั้นจากเจ้าของ. proprietary software อาจไม่ได้เป็น ซอฟต์แวร์ลิขสิทธิ์ เสมอไป, แต่โดยมากแล้ว เจ้าของซอฟต์แวร์มักจะใช้กลไกของระบบกฎหมายลิขสิทธิ์ในปัจจุบัน เพื่อเป็นเครื่องมือในการสงวนสิทธิ์ของตนเองไว้, ทำให้ซอฟต์แวร์กลายเป็น proprietary software. ตัวอย่างของ proprietary software ที่เป็นที่รู้จักกันดี ได้แก่ ไมโครซอฟท์ วินโดวส์ หรือ อะโดบี โฟโตชอป
คำว่า "โพรไพรเอทารีซอฟต์แวร์" เป็นคำจำกัดความที่ทางมูลนิธิซอฟต์แวร์เสรี (Free Software Foundation, FSF) ได้สร้างขึ้นเพื่อใช้อธิบายถึงซอฟต์แวร์ที่ไม่ใช่ซอฟต์แวร์เสรี เพื่อ ไว้เรียกเปรียบเทียบกับ ซอฟต์แวร์เสรี หรือ ซอฟต์แวร์ที่เปิดให้ผู้อื่นใช้งาน แจกจ่าย และ ดัดแปลงแก้ไขได้
ในประเทศไทย บางทีจะใช้คำทับศัพท์ว่า "โพรไพรเอทารีซอฟต์แวร์" หรือมีการใช้คำว่า "ซอฟต์แวร์เอกสิทธิ์เฉพาะ


ซอฟต์แวร์ตามมาตรฐานปิด

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


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


ผลการค้นหารูปภาพสำหรับ windows 7

วินโดวส์ 8

วินโดวส์ 8 (Windows 8) เป็นระบบปฏิบัติการของไมโครซอฟท์ เริ่มพัฒนาก่อน Windows 7 ในปี 2009 ประกาศออกมาตั้งแต่ปี 2011 Windows 8 ปล่อยออกมา 3 เวอร์ชันอย่างเป็นทางการตั้งแต่เดือนกันยายนปี 2554 ถึงเดือนพฤษภาคม 2555 ส่งไปยังผู้ผลิตในวันที่ 1 สิงหาคม 2555 และเปิดให้ใช้งานโดยกลุ่มผู้ใช้ทั่วไปในวันที่ 26 ตุลาคม 2555
วินโดวส์ 8 ปรับเปลี่ยนโดยเน้นการใช้งานบนอุปกรณ์พกพาเช่น แท็บเล็ต เพื่อเป็นคู่แข่งกับระบบปฏิบัติการบนอุปกรณ์พกพาอื่น ๆ เช่น ไอโอเอสและแอนดรอยด์ และได้ปรับปรุงส่วนติดต่อกับผู้ใช้งาน (UI) ทีมีชื่อว่ารูปแบบโมเดิร์นมีหน้าตาที่เรียบง่าย และสะดวกต่อการใช้งาน มีการอัปเดตแอปต่าง ๆ ตลอดเวลาด้วยระบบไลฟ์ไทล์และยังผนวกโปรแกรมป้องกันไวรัสเข้ามากับระบบปฏิบัติการโดยตรง ผู้ใช้ไม่จำเป็นต้องไปซื้อโปรแกรมป้องกันไวรัสเพิ่มเติม


 บทที่ 4
ประเภทของโปรแกรมระบบปฏิบัติการ
ซอฟต์แวร์ระบบปฏิบัติการ


ซอฟต์แวร์ ( 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เป็นต้น


CISC (Complex Instruction Set Computer)

การใช้หน่วยความจำ
สถาปัตยากรรมแบบ CISC จะมีชุดคำสั่งมากมายหลายคำสั่งที่ซับซ้อนและยุ่งยาก   แต่นั้นไม่ได้หมายความว่า  ทุกชุดคำสั่งจะมีการ FIX CODE คือ ถ้ามีการใช้ชุดคำสั่งที่มีความซับซ้อนมากก็จะใช้จำนวนบิตมาก  แต่ถ้าใช้งานชุดคำสั่งที่มีความซับซ้อนน้อยก็จะใช้จำนวนบิตน้อยเช่นกัน ในการเก็บชุดคำสั่งของ CISC นั้นจะเก็บเท่ากับจำนวนจริงของการใช้งาน จึงประหยัดเนื้อที่ในหน่วยความจำแต่เนื่องจากการเก็บชุดของคำสั่งนั้น เก็บเฉพาะการใช้งานจริง ซึ่งจะใช้งานหน่วยความจำน้อย  แต่นั้นไม่ได้หมายความว่าจะทำให้เกิดประสิทธิภาพในการทำงาน แต่จะทำให้ประสิทธิภาพการทำงานของเครื่องคอมพิวเตอร์ช้าลง  เพราะต้องเสียเวลาการถอดรหัสอันยุ่งยากของการเข้ารหัสที่มีขนาดไม่เท่ากัน


RISC (Reduced Instuction Set Computer)

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

ระบบปฏิบัติการดอส
    เริ่มมีใช้ครั้งแรกบนเครื่อง IBM PC ประมาณปี ค.ศ. 1981 เรียกว่าโปรแกรม PC-DOS ต่อมาบริษัทไมโครซอฟต์ได้สร้าง MS-DOS สำหรับเครื่องคอมพิวเตอร์ทั่วไป และได้รับความนิยมอย่างแพร่หลายมาจนถึงปัจจุบัน ตั้งแต่รุ่น Versions 1.0 2.0 3.0 3.30 4.0 5.0 6.0 และ 6.22 ปัจจุบันมีซอฟต์แวร์ทำงานภายใต้ระบบปฏิบัติการ MS-DOS อยู่เป็นจำนวนมาก โดยเฉพาะไมโครคอมพิวเตอร์รุ่นเก่าๆ ที่มีทรัพยากรของระบบน้อย
ตัวอย่างหน้าต่างระบบปฏิบัติการ  MS-Dos
dos
Windows
  Windows คือ ระบบปฏิบัติการคอมพิวเตอร์ระบบหนึ่ง (operating system) สร้างขึ้นโดยบริษัทไมโครซอฟต์ เนื่องจากความยากในการใช้งานดอสทำให้บริษัท ไมโครซอฟต์ได้มีการพัฒนาซอฟต์แวร์ที่เรียกว่า Windows ที่มีลักษณะเป็น GUI (Graphic-User Interface) ที่นำรูปแบบของสัญลักษณ์ภาพกราฟิกเข้ามาแทนการป้อนคำสั่งทีละบรรทัด ซึ่ง ใกล้เคียงกับแมคอินทอชโอเอส เพื่อให้การใช้งานดอสทำได้ง่ายขึ้น แต่วินโดวส์จะยังไม่ใช่ระบบปฏิบัติการจริง ๆ เนื่องจากมันจะทำงานอยู่ภายใต้การควบคุมของดอสอีกที กล่าวคือจะต้องมีการติดตั้งดอสก่อนที่จะติดตั้งระบบปฏิบัติการ Windows และผู้ใช้จะสามารถเรียกใช้คำสั่งต่าง ๆ ที่มีอยู่ในดอสได้โดยผ่านทางWindows   ซึ่ง Windows จะง่ายต่อการใช้งานมากกว่าดอส

มคโอเอส (Mac OS)
มคโอเอส (Mac OS) เป็นระบบปฏิบัติการสำหรับเครื่องคอมพิวเตอร์แมคอินทอช โดยทั้งคู่เป็นผลิตภัณฑ์ของบริษัทแอปเปิลคอมพิวเตอร์. แมคโอเอสเป็นระบบปฏิบัติการที่มีส่วนต่อประสานกับผู้ใช้แบบกราฟิก (GUI) รายแรกที่ประสบความสำเร็จในเชิงพาณิชย์
รุ่นแรกๆ ของระบบปฏิบัติการนี้ ไม่ได้ใช้ชื่อแมคโอเอส, อันที่จริงระบบปฏิบัติการนี้ในรุ่นแรกๆ ยังไม่มีชื่อเรียกด้วยซ้ำ

ระบบปฏิบัติการยูนิกซ์

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

ระบบปฏิบัติการลีนุกซ์

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

เป็นระบบปฏิบัติการที่มีโนเกียเป็นหุ้นส่วนใหญ่ และกำลังจะกลายไปเป็น Symbian Foundation (มูลนิธิซิมเบียน) ที่อาจจะเปิดเป็น OpenSource ในอนาคต ซิมเบียน ถือเป็นระบบที่ใช้ทรัพยากรได้ค่อนข้างคุ้มค่ามากกว่าตัวอื่นๆ และมีปัญหาในระบบค่อนข้างน้อย โดยซิมเบียนในปัจจุบัน มี 2 สายคือ สาย S60 (โนเกียเป็นหัวหอกหลัก) และ สาย UIQ (โซนี่อีริคสันเป็นหัวหอกหลัก) แต่ปัจจุบัน S60 ได้รับความนิยมมากกว่า โดยพัฒนามาจนถึงรุ่น 9.3 แล้ว

 บทที่ 3
ระบบปฏิบัติการกับการจัดการทรัพยากรระบบ
สถานะของโปรเซส
          สถานะต่างๆ ในการทำงานของโปรเซสจะมีสถานะใดสถานะหนึ่งเท่านั้น ซึ่งจะมีหลายสถานะด้วยกัน ดังนี้
รูปที่ 2.4  โอเอสจะจัดสรรและจัดการโปรเซสจำนวนมากมายให้ทำงานได้อย่างไร
   1. New    คือโปรเวสที่เพิ่งสร้างขึ้น
   2.Ready   คือสถานะที่โปรเซสพร้อมที่จะใช้งานซีพียูทันทีที่โอเอสที่มอบหมายให้ โดยสถานะนี้อยู่ในสถานะพร้อมที่จะรันเท่านั้น ยังไม่มีการรันหรือเอ็กซ์คิวต์แต่อย่างใด
   3. Running   คือสถานะที่โปรเซสครอบครองซีพียู หรือซีพียูมีการเอ็กซ์คิวต์คำสั่งของโปรเซสนั้น
   4. Waiting  คือสถานะโปรเซสนั้นกำลังรอเหตุการณ์อะไรบ้างอย่าง
   5. Block   คือสถานะที่เกิดการขัดจังหวะการอุปกรณ์อินพุต/เอาต์พุต ซึ่งก็คืออินเตอร์รัพต์
   6.Terminated   คือสถานะของโปรเซสที่ประมวลผลเสร็จสิ้น                     



แบบมาก่อนได้ก่อน (First-Come-First-Served Scheduling:FCFS)
             เป็นวิธีการจัดการที่มีความเข้าใจง่าย กล่าวคือโปรเซสใดก็ตามที่การร้องขอซีพียูก่อนก็สามารถครอบครองเวลาซีพียูได้ก่อน  โดยเป็นไปตาม
ลำดับเวลาของการเข้ามาในลำดับคิวข้อดีของการจัดคิวแบบ FCFS นั้นเป็นอัลกอริทึมที่ง่าย ไม่ยุ่งยากซับซ้อน





แบบงานใดใช้เวลาสั้นให้ทำก่อน(Shortest-Jop-First Scheduling:SJF)
         เป็นวิธีการจัดลำดับด้วยการนำโปรเซสที่ใช้เวลาน้อยที่สุดมาทำงานก่อน ซึ่งจัดเป็นทางเลือกวิธีหนึ่งที่ต้องการแก้ไขข้อบกพร่องของวิธีแรก แต่ก็มีข้อ
เสียคือโปรเซสที่มาก่อนอาจไม่ได้รับการบริการจากซีพียูก่อน ในขณะที่โปรเซสอื่นที่มาทีหลังจะถูกบริการก่อนถ้ามีระยะเวลาทำงานในซีพียูน้อยกว่า
การจัดตารางการทำงานแบบศักดิ์สูงได้ก่อน (Priority Scheduling)
วิธีนี้กำหนดให้แต่ละกระบวนการมีศักดิ์ (Priority) ไม่เท่ากัน และกระบวนการที่จะได้เข้าใช้หน่วยประมวลผลกลาง คือ กระบวนการที่มีศักดิ์สูงที่สุด ถ้ากระบวนการใดมีศักดิ์เท่ากันแล้ว ระบบจะให้กระบวนการที่มีศักดิ์เท่ากันนั้นทำงานแบบมาก่อน-ได้ก่อน (FCFS)
ในหัวข้อนี้เราจะอธิบายเกี่ยวกับการจัดตารางการทำงานโดยพิจารณาศักดิ์ของกระบวนการว่าสูงหรือต่ำ โดยทั่วไปแล้ว ค่าศักดิ์จะเป็นตัวเลขที่อยู่ในช่วงที่แน่นอนตายตัว เช่น 0 – 7 หรือ 0 – 4095 แต่ก็ไม่ได้มีการตกลงกันเป็นสเกลว่า 0 หมายถึง ค่าศักดิ์สูงที่สุดหรือต่ำที่สุด บางระบบตัวเลขน้อยกว่าถือว่าศักดิ์สูงกว่า บางระบบก็ใช้ตรงกันข้าม หนังสือเล่มนี้ เรากำหนดให้เลขน้อยกว่ามีศักดิ์สูงกว่า
ตัวอย่างเช่น
กระบวนการ (Process)
เวลาทำงาน (Burst Time)
ศักดิ์ (Priority)
P1
P2
P3
P4
P5
10
1
2
1
5
3
1
3
4
2


การจัดตารางการทำงานแบบเวียนเทียน (Round-Robin Scheduling / RR)
ถูกออกแบบมาเพื่อใช้กับการทำงานในระบบแบ่งส่วน (time-sharing system) โดยขั้นตอนวิธีของการจัดตารางการทำงานในวิธีนี้เริ่มจากการแบ่งเวลาออกเป็นหน่วยเล็ก ๆ ที่เรียกว่า “ส่วนแบ่งเวลา” (Time Quantum / Time Slice) ซึ่งโดยทั่วไปมีค่าอยู่ระหว่าง 10 ถึง 100 มิลลิวินาที และจัดให้แถวพร้อมของระบบมีโครงสร้างเป็นแถวรอแบบวงกลม โดยเรียงกันแบบมาก่อน-ออกก่อน (First In, First Out / FIFO) ซึ่งในกรณีที่มีกระบวนการใหม่เข้าสู่ระบบ กระบวนการใหม่นั้นจะเข้าไปต่อที่ตอนท้ายของแถวพร้อม และเมื่อมีการเลือกกระบวนการเข้าใช้หน่วยประมวลผล กลาง ตัวจัดตารางการทำงานก็จะเลือกให้กระบวนการที่อยู่หัวแถวของแถวพร้อมได้เข้าใช้หน่วยประมวลผลกลางก่อนกระบวนการอื่นในแถว โดยให้ใช้ครั้งละ 1 ส่วนแบ่งเวลา แล้วกลับไปต่อแถวใหม่
เมื่อกระบวนการได้เข้าใช้หน่วยประมวลผลกลางแล้ว กระบวนการอาจจะใช้เวลาในการทำงานกับหน่วยประมวลผลกลางน้อยกว่า 1 ส่วนแบ่งเวลา แล้วปล่อยหน่วยประมวลผลกลางคืนสู่ระบบด้วยความสมัครใจ จากนั้นตัวจัดตารางการทำงานก็จะเลือกกระบวนการที่อยู่ถัดไปในแถวพร้อมมาเข้าใช้หน่วยประมวลผลกลางต่อไป แต่ในกรณีที่กระบวนการไม่สามารถทำงานให้เสร็จสิ้นได้ภายใน 1 ส่วนแบ่งเวลา กระบวนการนั้นจะถูกแทรกกลางคันโดยระบบปฏิบัติการ และจะสับเปลี่ยนให้กระบวนการต่อไปเข้าใช้หน่วยประมวลผลกลางแทน สำหรับกระบวนการที่ถูกแทรกกลางคันนั้นก็จะถูกนำไปต่อยังท้ายแถวของแถวพร้อม
ค่าเวลารอคอยโดยเฉลี่ยภายใต้การทำงานแบบเวียนเทียนนี้ มักจะมีค่ามาก โดยพิจารณาจากกลุ่มของกระบวนการที่ได้เข้าสู่ระบบ ณ เวลา 0 และแต่ละกระบวนการจะมีช่วงเวลาในการใช้งานหน่วยประมวลผลกลางดังแสดงต่อไปนี้
กระบวนการ (Process)
เวลาทำงาน (Burst Time)
P1
P2
P3
24
3
3



ระบบโปรแกรมเดี่ยว

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

ระบบหลายโปรแกรม

          ในระบบคอมพิวเตอร์ ซีพียูถือว่าเป็นหน่วยที่แพงที่สุด สำคัญที่สุด และต้องการใช้งานซีพียูให้เกิดความคุ้มค่ามากที่สุด ดังนั้นจึงมีการคิดค้นวิธีการต่างๆ เพื่อสามารถใช้งานวีพียูคุ้มค่ายิ่งขึ้น ระบบโปรแกรมเดี่ยว (Single program) ซีพียูแทบจะใช้งานน้อยมากกล่าวคือ เมื่อมีการติดต่อกับอุปกรณ์อินพุต/เอาต์พุต ซึ่งพื้นฐานของการทำงานอุปกรณ์เหล่านั้นเป็นแบบ Machanics ไม่ใช้แบบ Electronics เหมือนกับหน่วยความจำหลัก ดังนั้นการทำงานย่อมช้ากว่าซีพียูมาก ในช่วงขณะที่ซีพียูจัดการอุปกรณ์อินพุต/เอาต์พุตนั้นสถานะของซีพียูก็ว่างอยู่เฉยๆ (Idle) ไม่ได้มีการทำงานใดๆ เลย หากคิดเป็น Overhead หรือ ค่าใช้จ่าย ถือว่าได้สูญเสีย ค่าใช้จ่ายในการใช้งานซีพียูโดยไม่ได้ประโยชน์ใดๆ และไม่คุ้มกับความสามารถและราคาของซีพียูเลย จากความคิดนี้จึงได้มีการสร้างคอมพิวเตอร์ที่สามารถทำการรันงานหรือโปรแกรมต่างๆ ได้หลายๆ โปรแกรมในเวลาเดี่ยวกัน โดยระบบการทำงานคอมพิวเตอร์ ในลักษณะนี้ว่า Multiprigrammming หรือ ระบบหลายโปรแกรม


บทที่ 2

โครงสร้างของระบบคอมพิวเตอร์และโครงสร้างของระบบปฏิบัติการ

 

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

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


DMA (Direct Memory Access)
DMA (Direct Memory Access) หรือการส่งเข้าถึงข้อมูลในหน่วยความจำโดยตรง คือกระบวนการโอนย้ายข้อมูลระหว่างหน่วยความจำกับอุปกรณ์ภายนอก โดยไม่ผ่าน CPU
กระบวนการ DMA เริ่มต้นจาก
1. อุปกรณ์ที่ต้องการทำ DMA ส่งสัญญาณ DREQ เพื่อร้องขอทำ DMA ไปยัง DMA controller ในช่องทาง (channnel) ที่ต้องการ
2. เมื่อ DMA controller ได้รับสัญญาณ ก็จะตรวจสอบก่อนว่าสามารถอณุญาติให้ทำ DMA ได้หรือไม่แล้วจึงส่งสัญญาณ HRQ เพื่อบอก CPU ว่าต้องการเข้ามาใช้ BUS โดยส่งสัญญาณนี้ไปยังของ HOLD ของ CPU
3. เมื่อ CPU ได้รับสัญญาณ HRQ จาก DMA controller ที่ขา HOLD และพร้อมที่จะตอบสนองก็จะส่งสัญญาณ HLDA หรือ Hold Acknowledge ตอบกลับไปยัง DMA controller เพื่อแสดงว่า CPU ได้ปลดตัวเองและปล่อยการควบคุม แล้วจะส่งหน้าที่ต่างๆให้ DMA controller รับไปดำเนินการ
4. เมื่อ DMA controller ได้รับสัญญาณ HLDA แล้วก็เข้าควบคุม address bus และ controller bus และส่งสัญญาณ DACK ตอบกลับไปยังอุปกรณ์เพื่อแสดงถึงการพร้อมสำหรับเริ่มต้นส่งข้อมูล
5. การส่งข้อมูลจะเริ่มต้นโดยจะส่งสัญญาณ AEN ส่งสัญญาณ คือ address แรกของหน่วยความจำเป้าหมายออกไปที่ address bus และส่งสัญญาณไปควบคุมการเขียนและอ่านหน่วยความจำกับอุปกรณ์กับอุปกรณ์ออกไป เพื่อดำเนินการย้ายข้อมูลระหว่างอุปกรณ์กับหน่วยความจำ
6. เมื่อข้อมูลโอนย้ายจนครบสมบูรณ์แล้วก็จะเข้าสู่กระบวนการยกเลิก DMA โดย DMA จะส่งสัญญาณ EOP หรือ End Of Process ออกไป
7. ส่งผลให้สัญญาณ AEN ตกลงเป็น LOW เพื่อคืน bus ให้กับ CPU และ HRQ จาก DMA controller ที่ไปของให้ CPU HOLD ก็จะหายไป เพื่อให้ CPU กลับมาดูแล bus ต่างๆดังเดิม
8.เมื่อสัญญาณที่ร้องของ HOLD หายไป CPU ก็จะรับรู้และจะตอบสนองโดยยกเลิกสัญญาณ HLDA เพื่อแสดงว่าตอนนี้ CPU กลับมาดูแลระบบแล้ว




ลำดับชั้นของหน่วยความจำ (Memory Hierarchy)

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

หน่วยความจำชั่วคราว
หน่วยความจำชั่วคราว (Volatile memory) คือหน่วยความจำของคอมพิวเตอร์ที่จำเป็นต้องมีไฟฟ้าเลี้ยงตลอดเวลาตราบเท่าที่ยังต้องการให้มันเก็บข้อมูลนั้นอยู่ หรืออีกนัยหนึ่งก็คือหากไม่ได้รับไฟฟ้าเลี้ยงแล้วข้อมูลที่เคยเก็บอยู่ในหน่วยความจำชั่วคราวก็จะหายไป ตัวอย่างของหน่วยความจำชั่วคราวก็คือ แรมชนิดต่างๆ ตรงกันข้ามกับหน่วยความจำถาวรที่ยังรักษาข้อมูลอยู่แม้ว่าจะไม่มีไฟฟ้าเลี้ยงแล้วก็ตาม

หน่วยความจำถาวร
หน่วยความจำถาวร (Non-volatile memory) คือหน่วยความจำของคอมพิวเตอร์ที่สามารถเก็บรักษาข้อมูลได้อยู่โดยไม่ต้องอาศัยไฟฟ้า ตัวอย่างหน่วยความจำถาวรเช่น รอม, แฟลช ยังรวมถึงหน่วยเก็บข้อมูลด้วยแม่เหล็ก เช่น จานบันทึกแบบแข็ง (hard disks), แผ่นบันทึก (floppy disks) และแถบแม่เหล็ก (magnetic tape), หน่วยเก็บข้อมูลด้วยแสง เช่น แผ่นซีดี และหน่วยเก็บข้อมูลยุคเก่า เช่น บัตรเจาะรู

การป้องกันหน่วยความจำ
โดยปกติจำนวนบิต (Bits) ที่เก็บอยู่ในตารางเพจ (Page Table) เราสามารถกำหนดบิตเพื่อใช้การตรวจสอบและกำหนดเพจในการ อ่าน-เขียน (Read-Write) หรืออ่านข้อมูลเท่านั้น (Read-Only) ซึ่งเรียกบิตพิเศษนี้ว่า “กลุ่มบิตป้องกัน (Associating Protection Bits)” ให้กับทุกๆ เฟรม ที่อยู่ในหน่วยความจำ (Main Memory) ซึ่งแบ่งบิตสถานะออกเป็น 2 บิต คือ
1. บิตใช้งานได้ (Valid Bit) เป็นบิตสถานะที่บอกว่าข้อมูลในเพจถูกอ่านเข้าสู่หน่วยความจำทางกายภาพแล้ว และสามารถนำไปใช้งานได้ทันที
2. บิตใช้งานไม่ได้ (Invalid Bit) เป็นบิตสถานะที่บอกว่าข้อมูลในเพจนั้นไม่มีอยู่ในหน่วยความจำทางกายภาพแล้ว (Physical Memory) และไม่สามารถนำไปใช้งานได้ อาจเกิดจากกรณีที่ระบบปฏิบัติการยังไม่ได้อ่านข้อมูลจากเพจเข้าสู่หน่วยความจำหลัก (Main Memory) หรือข้อมูลของเพจที่ต้องการอ่านนั้นถูกสลับ (Swapped) ออกจากหน่วยความจำแล้ว ซึ่งจะทำให้เกิดข้อผิดพลาดขึ้นที่เรียกว่า “การผิดหน้า (Page Fault)” จึงจำเป็นต้องโหลดเพจข้อมูลเข้าสู่หน่วยความจำก่อนแล้วจึงเปลี่ยนค่าของบิตใช้งานไม่ได้ (Invalid Bit) ให้เป็นบิตใช้งานได้ (Valid Bit) แล้วจึงทำการประมวลผลข้อมูลนั้นใหม่อีกครั้งหนึ่ง