วันจันทร์ที่ 12 ธันวาคม พ.ศ. 2559

บทที่ 4 ประเภทของโปรแกรมระบบปฎิบัติการ

ความแตกต่างของระบบปฎิบัติการ
     ระบบปฎบัติการชนิดต่างๆ ถูกออกแบบและสร้างขึ้นบนพื้นฐานของความต้องการที่แตกต่างกัน อันได้แก่
     1.อินเตอร์เฟซของระบบปฎิบัติ
     2.ประเภทของระบบปฎิบัติการ
     3.ชนิดของซีพียูที่สนับสนุน

     อินเตอร์เฟซของระบบปฎิบัติการ
     อินเตอร์เฟซของระบบปฎิบัติการ สามารถถูกออกแบบให้อยู่ในรูปแบบของการตอบโต้ด้วยคำสั่ง หรือการฟิกได้ โดยที่

     อินเตอร์เฟซแบบคำสั่ง (Command Line)
     เป็นอินเตอร์เฟซที่ผู้ใช้ต้องมีความรู้ในการโต้ตอบกับคอมพิวเตอร์ผ่านคำสั่งต่างๆ ดังนั้น ผู้ใช้งานจึงต้องรู้ว่า ต้องป้อนคำสั่งอะไรลงไปเพื่อโต้ตอบกับคอมพิวเตอร์หรือสั่งงานให้เครื่องทำ ตัวอย่างเช่น ในระบบปฎิบัติการ DOS หากต้องการสร้างไดเรกทอรี (โฟลเดอร์) จะต้องใช้คำสั่ง md หรือหากต้องการคัดลอกไฟล์ก็จะต้องใช้คำสั่ง copy ซึ่งนอกจากต้องรู้คำสั่งแล้ว ยังต้องเขียนรูปแบบคำสั่งให้ถูกต้องด้วย

     อินเตอร์เฟซแบบกราฟิก (Graphics)
     เป็นอินเตอร์เฟซที่ผู้ใช้ต้องมีความรู้ในการโต้ตอบกับคอมพิวเตอร์ผ่านคำสั่งต่างๆ ดังนั้นผู้ใช้งานจึงต้องรู้ว่า ต้องป้อนคำสั่งอะไรลงไปเพื่อโต้ตอบกับคอมพิวเตอร์หรือสั่งงานให้เครื่องโต้ตอบกันสะดวกยิ่งขึ้น ตัวอย่างเช่น MS-Windows และ MAC-OS ในขณะที่ระบบปฎิบัติการ Unix และ Linux ก็จะมีเวอร์ชั่นทั้งแบบ Command Line และ GUI ทั้งนี้ อินเตอร์เฟซ GUI สามารถคนคุ้นเคยกันดีไม่ว่าจะเป็นการสร้างโดยเฉพราะ Windows Explorer (ในระบบปฎิบัติการวินโดวส์) ที่หลายคนคุ้นเคยกันดีไม่ว่าจะเป็นการสร้างโฟลเดอร์ หรือลบไฟล์ต่างๆ

     ประเภทของระบบปฎิบัติการ
     ระบบปฎิบัติการ ยังถูกจัดแบ่งเป็นประเภทต่างๆ ดังนี้

     ระบบปฎิบัติการส่วนบุคคล (Personal Operating Systems)
     เป็นระบบปฎิบัติการที่นำมาใช้งานส่วนบุคคลเป็นหลัก ในบักษณะของผู้ใช้คนเดียว (Stand-Alone) ตัวอย่างเช่น ระบบปฎิบัติการ Windows แต่อย่างไรก็ตาม ระบบปฎิบัติการจากค่ายไมโครซอฟต์ ไม่ว่าจะเป็น Windows XP, Windows 7 และ Windows 8 ก็ตาม นอกจากนำมาใช้งานส่วนบุคคลได้แล้ว ยังสามารถตั้งค่าเพื่อสร้างเป็รเครือข่ายเล็ก เชื่อมต่อกัน รวมถึงการเชื่อต่อเข้ากับระบบเครือข่ายระดับองค์กร และการเข้าถึงอินเทอร์เน็ต

     ระบบปฎิบัติการเครือข่าย (Network Operating Systems)
     เป็นระบบปฎิบัติการที่สร้างขึ้นเพื่อใช้งานบนระบบเครือข่ายเป็นหลัก สามารถรองรับการเชื่อมลูกข่ายต่างๆ เข้าด้วยกัน โดยมีศูนย์บริการที่เรียกว่าเชิร์ฟเวอร์ที่ใช้เป็นเครื่องแม่ข่ายหรือที่มักเรียกว่าโฮสต์ ตัวอย่างระบบปฎิบัติการเครื่อข่าย เช่น Windows Server , Novell NetWare และ Unix เป็นต้น

 

       ชนิดของซีพียูที่สนับสนุน
https://www.blogger.com/blogger.g?blogID=6275893294882508953#editor/target=post;postID=2858327808477674679

     โดยทั่วไปแล้ว ระบบปฎิบัติการมักถูกสร้างขึ้นเพื่อใช้งานบนซีพียูประเภทใดมนประเภทหนึ่งโดยเฉพราะ เช่น ใช้งานกับซีพียูของเครื่องพีซีทั่วไป เครื่องเชิร์ฟเวอร์ หรืออุปกรณ์เคลื่อนที่นอกจากนี้ ยังมีระบบปฎิบัติการ Windows 7 ก็จะมีทั้งแบบ 32 หรือ 64 บิต ให้เลือกใช้งาน นอกจากนี้สถาปัตยกรรมของซีพียูที่ใช้งานบนเครื่องพีซีทั่วไป ก็ยังมีทั้งซีพียูแบบ CISC และ RISC โดยที่

     ซีพียู CISC  (Complex Instruction Set Computing)
https://www.google.co.th/search?q=ADM&biw=1440&bih=794&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjS58vmoe7QAhXHgbwKHUN0CaYQ_AUIBigB#tbm=isch&q=%E0%B8%8B%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%A2%E0%B8%B9+CISC&imgrc=gokJNAzfGs6crM%3A

     สถาปัตยกรรมซีพียูชนิดนี้ ภายในซีพียูจะประกอบไปด้วยคำสั่งภายในจำนวนมาก ไม่ว่าจะเป็นชุดคำสั่งพื้นฐานและชุดคำสั่งที่มีความซับซ้อน โปรแกรมหรือซอฟต์แวร์ต่างๆ ที่ออกแบบมาเพื่อใช้งานบนซีพียูชนิดนี้ จะใช้ประโยชน์จากคำสั่งมี่บรรจุอยู่ภายในซีพียูได้ทันที จึงทำให้ตัวโปรแกรมเขียนได้ง่ายและสั่นลง อย่างไรก็ตาม ด้วยชุกคำสั่งที่บรรจุอยู่ภายในซีพียูได้ทันที จึงทำให้ตัวโปรแกรมเขียน 200 - 300 ชุดคำสั่ง ย่อมส่งผลให้ซีพียูมีขนาดใหญ่ขึ้น ใช้พลังงานมากขึ้น จึทำให้เกิดความร้อนสะสมสูง อีกทั้งชุดคำสั่งต่างๆ เหล่านี้ ก็ใช่ว่าจะถูกเรียกใช้งานเป็นประจำจากตัวโปรแกรมเนื่องจากโปรแกรมโดยส่วนใหญ่มักเรียกใช้งานเพียงบางชุดคำสั่งเท่านั้น
https://www.google.co.th/search?q=ADM&biw=1440&bih=794&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjS58vmoe7QAhXHgbwKHUN0CaYQ_AUIBigB#tbm=isch&q=ADM+Intel&imgrc=etrV5t7GQo4ydM%3A

   
     ซีพียู RISC (Reduced Instruction Set Computing)
     เป็นสถาปัตยกรรมซีพียูที่มีแนวคิดตรงกันข้ามกับ CISC โดยสิ้นเชิงกล่าวคือ ภายในซีพียู RISC จะมีชุดคำสั่งที่ส่วนใหญ่ล้วนจำเป็นต่อการถูกเรียกใช้งานจากโปรแกรมอยู่บ่อยๆ นั่นเองส่วนคำสั่งที่ซับซ้อนก็จะปล่อยให้เป็นหน้าที่ของระบบปฎิบัติการในการประมวลผลคำสั่งของซีพียู RISC ใช้เวลาน้อยกว่า CISC และด้วยภายในซีพียู RISC ที่มีการบนนจุเฉพาะชุดคำสั่งพื่นฐานเท่านั้น ตัวอย่างซีพียูที่ใช้สถาปัตยกรรม RISC พลังงานน้อยกว่า ตัวอย่างซีพียูที่ใช่สถาปัตยกรรม เช่น ชิปตระกูล Power PC, Silicon Graphics และ DEC Alpha เป็นต้น

     ระบบปฎิบัติการบนคอมพิวเตอร์ส่วนบุคคลและเชิร์ฟเวอร์
     ในหัวข้อนี้ จะขอกล่าวถึงระบบปฎิบัติการที่นิยมใช้งานคอมพิวเตอร์ส่วนบุคคล และบนเครือข่ายคอมพิวเตอร์ อันได้แก่ ระบบปฎิบัติการ DOS, Windows, Windows Server, Mac-OS, Unix และ Linux

     ดอส (Disk Operating System : DOS)
     ระบบปฎิบัติการ DOS จัดเป็นระบบปฎิบัติการที่ได้รับความนิยมสูงมากในช่วงปี พ.ศ.2523 ถึง พ.ศ.2533 ถูกออกแบบใช้งานบนเครื่องพีซีในยุคเริ่มต้น เป็นระบบปฎิบัติการที่ประมวลผลแบบงานเดียว (Single Tasking) โดยมีอินเตอร์เฟซเป็นแบบคำสั่งหรือที่เรียกว่า Command Prompt อย่างไรก็ตาม ในระบบปฎิบัติการ Windows ก็ยังผนวกการโต้ตอบแบบคำสั่งเอาไว้สำหรับผู้ที่ยังคงชื่นชอบรูปแบบการโต้ตอบชนิดนี้

     วินโดวส์ (Windows)
     บริษัทไมโครซอฟต์ได้สร้างระบบปฎิบัติการวินโดวตัวแรกคือ Windows 1.0 เมื่อปี พ.ศ.2528เพื่อทดแทนระบบปฎิบัติการ Windows 3.11 ซึ่งถือเป็นเวอร์ชั่นที่ได้รับการยอมรับและประสบความสำเร็จจากผู้ใช้เป็นจำนวนมากที่มีอยู่ทั่วโลก แต่ยังคงมีข้อจำกัดคือ ยังต้องพึ่งพาระบบปฎิบัติการ DOS อยู่ถัดจากนั้นมาจนกระทั่งปี พ.ศ.2538-2543ก็ได้เปิดตัวระบบปฎิบัติการเวอร์ชั่นใหม่ๆ อย่างต่อเนื่อง เช่น Windows 95, Windows 98, Windows Me และ Windows 2000 ตามลำดับ และไม่ต้องพึ่งพาระบบปฎิบัติการ DOS อีกต่อไป อีกทั้งยังพัฒนาระบบไฟล์จากเดิมที่เคยใช้คือ FAT-16 บิต มาเป็น FAT-32 บิต และ NTFS ตามลำดับ


https://www.google.co.th/search?q=ADM&biw=1440&bih=794&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjS58vmoe7QAhXHgbwKHUN0CaYQ_AUIBigB#tbm=isch&q=Windows+1.0&imgrc=d--9no9e-Em8ZM%3A




https://www.google.co.th/search?q=ADM&biw=1440&bih=794&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjS58vmoe7QAhXHgbwKHUN0CaYQ_AUIBigB#tbm=isch&q=Windows+XP&imgrc=95IqG0tydr_hRM%3A

  

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


https://www.google.co.th/search?q=ADM&biw=1440&bih=794&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjS58vmoe7QAhXHgbwKHUN0CaYQ_AUIBigB#tbm=isch&q=Windows+XP&imgrc=95IqG0tydr_hRM%3A


     Windows 7
     Windows 7 เป็นระบบปฎิบัติการ(Operating System)ของทาง Microsoft ที่ได้ทำการพัฒนาต่อเนื่องมากจาก Windows 98 , Me , 2000 , XP ,Vista จนมาถึงปัจจุบัน คือ Windows 7 นั้นเอง โดยกลุ่มเป้าหมายของ Windows 7 นี้ก็คือบุคคลทั่วไป ตามองค์กร ตามบ้าน ที่ใช้คอมพิวเตอร์ โดย Windows 7 จะเป็นระบบปฎิบัติการที่เอามาลงบน Hardware อีกทีึครับ โดย Windows 7 ได้เปิดตัวอย่างเป็นทางการเมื่อวันที่ 22 ก.ค 2009 ครับโดยทาง Microsoft ได้ใช้ภาษา C , C++ ในการพัฒนา
Windows 7 นั้นได้ออกมาหลาย Edition เหลือเกิน ไม่ว่าจะเป็นตัว Windows 7 Starter, Window 7 Home Basic,Windows Home Premium,WIndow 7 Professional,Windows 7 Enterprise,Windows 7 Ultimate โดยของแตกต่างระหว่าง Editions ของ Windows 7 นั้นก็คือ การเพิ่ม Functions และลูกเล่นในการทำงานครับ ซึ่งถ้าเราจ่ายเงินเพิ่มมากยิ่งขึ้นเราก็จะได้ฟังก์ชั่นในการทำงานหรือลูกเล่นเพิ่มขึ้นนั้นเองครับ


https://www.google.co.th/search?q=windows+7+%E0%B8%AD%E0%B8%98%E0%B8%B4%E0%B8%9A%E0%B8%B2%E0%B8%A2&biw=1440&bih=745&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjGlc73wu7QAhULKY8KHcLoCP8Q_AUIBigB#imgrc=RDc3sAmbpk_dUM%3A


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


https://www.google.co.th/search?q=windows+8+%E0%B8%AD%E0%B8%98%E0%B8%B4%E0%B8%9A%E0%B8%B2%E0%B8%A2&biw=1440&bih=745&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi-p_LJw-7QAhWGvI8KHcCICfEQ_AUICCgB#imgrc=TywcAk8HbqpzgM%3A


     Windows Server
     เป็นระบบปฎิบัติการเครือข่าย (Network Operrating Systems : NOS) จากค่ายไมโครซอฟต์ทที่ถูกออกแบบให้ใช้งานบนเครื่องเชิร์ฟเวอร์โดนเฉพาะ มักใช้งานตามองค์กรทั่วไปตัวอย่างเช่น Windows Server 2003, Windows Server 2008 และ Windows Server 2012 (Windows Server 8) เป็นต้น สำหรับข้อเด่นของระบบปฎิบัติการเครือข่ายจากค่ายไมโครซอฟต์ก็คือ มีโปรแกรมสนับสนุนมากมาย อีกทั้งการเชื่อมโยงเครื่องลูกข่ายเข้ากับเครื่องเชิร์ฟเวอร์นั้นจะง่ายมากหากเครื่องลูกข่ายใช้ระบบปฎิบัติการจากค่ายไมโครซอฟต์เหมือนกัน




https://www.google.co.th/search?q=windows+8+%E0%B8%AD%E0%B8%98%E0%B8%B4%E0%B8%9A%E0%B8%B2%E0%B8%A2&biw=1440&bih=745&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi-p_LJw-7QAhWGvI8KHcCICfEQ_AUICCgB#tbm=isch&q=windows+server&imgrc=t-ouhVx273srYM%3A



     แมคโอเอส (Mac-OS)
     ระบบปฎิบัติการ Mac เป็นผลิตภัณฑ์จากค่ายแอปเปิ้ลที่ออกแบบมาใช้งานบนเครื่องแมคโดยเฉพาะ เป็นระบบปฎิบัติการที่พัฒนาขึ้นจากพื้นฐานระบบปฎิบัติการยูนิกซ์




https://www.google.co.th/search?q=windows+8+%E0%B8%AD%E0%B8%98%E0%B8%B4%E0%B8%9A%E0%B8%B2%E0%B8%A2&biw=1440&bih=745&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi-p_LJw-7QAhWGvI8KHcCICfEQ_AUICCgB#tbm=isch&q=++%E0%B9%81%E0%B8%A1%E0%B8%84%E0%B9%82%E0%B8%AD%E0%B9%80%E0%B8%AD%E0%B8%AA+(Mac-OS)&imgrc=zvQoaMy6d8lc7M%3A


     ยูนิกซ์ (Unix)
     ระบบปฎิบัติการ Unix ได้รับการพัฒนาขึ้นครั้งแรกเมื่อประมาณปี พ.ศ.2503 ถูกออกแบบเพื่อใช้งานบนเครื่องเชิร์ฟเวอร์ระดับกลาง เป็นระบบปฎิบัติการที่มีรูปแบบการประมวลผลแบบมัลติยูสเซอร์และมัลติทาสกิ้ง นอกจากนี้ ระบบคอมพิวเตอร์ตั้งแต่ระดับไมโครคอมพิวเตอร์จนถึงเมนเฟรม สามารถรันอยู่ภายใต้ระบบปฎิบัติการการยูนิกซ์ได้ั้งสิ้น



https://www.google.co.th/search?q=windows+8+%E0%B8%AD%E0%B8%98%E0%B8%B4%E0%B8%9A%E0%B8%B2%E0%B8%A2&biw=1440&bih=745&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi-p_LJw-7QAhWGvI8KHcCICfEQ_AUICCgB#tbm=isch&q=%E0%B8%A2%E0%B8%B9%E0%B8%99%E0%B8%B4%E0%B8%81%E0%B8%8B%E0%B9%8C+(unix)&imgrc=k8BmqX-qSojBSM%3A


     ลินุกซ์ (Linux)
     ลินุกซ์จัดเป็นระบบปฎิบัติการสายพันธุ์หนึ่งของ Unix และยังเป็นระบบเปิด ที่เปิดโอกาสให้รักพัฒนานำไปปรับปรุงเพื่อแบ่งปันใช้งานบนอินเทอร์เน็ต แม้ว่า Linux ฉบับดั้งเดิมนั้นจะมีอินเตอร์เฟซมาเป็นแบบ Command Line ก็ตาม แต่เวอร์ชั่นใหม่ๆ ในปัจจุบันได้มีการปรับเปลี่ยนอินเตอร์เฟซมาเป็นแบบ GUI และสามารถดาวน์โหลดมาใช้งานได้ฟรีผ่านเครือข่ายอินเทอร์เน็ตสำหรับลินุกซ์ประเทศไทย ได้รับการพัฒนาขึ้นภายใต้หน่วยงาน NECTEC โดยใช้ชื่อว่า ลินุกซ์ทะเล (Linux Tle)




https://www.google.co.th/search?q=windows+8+%E0%B8%AD%E0%B8%98%E0%B8%B4%E0%B8%9A%E0%B8%B2%E0%B8%A2&biw=1440&bih=745&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi-p_LJw-7QAhWGvI8KHcCICfEQ_AUICCgB#tbm=isch&q=%E0%B8%A5%E0%B8%B4%E0%B8%99%E0%B8%B8%E0%B8%81%E0%B8%8B%E0%B9%8C+(Linux)&imgrc=HaaMKClUxdV8DM%3A

วันอาทิตย์ที่ 11 ธันวาคม พ.ศ. 2559

บทที่ 3 ระบบปฎิบัติการกับการจัดการทรัพยากรระบบ

การจัดการโปรเซส
โปรเซสคือโปรแกรมที่ถูกประมวลผลโดยซีพียู แต่ในความเป็นจริงแล้วกิจกรรมที่ส่งไปให้ซีพีประมวลผลนั้น ใช่ว่าจะเป็นโปรแกรมเท่านั้น ซึ่งในบางระบบอาจมีการเรียกกิจกรรมที่ซีพียูประมวลผลอยู่นั้นแตกต่างกันไป ดังนั้นไม่ว่าจะเป็น Job, Task หรือ User Program ซึ่งต่างก็มีความหมายเดียวกันกับคำว่าโปรเซส และโปรแกรมที่กำลังทำงานอยู่ ก็เรียกว่าโปรเซสเช่นกันโดยการทำงานของโปรเซสจะทำงานแบบเป็นลำดับแแต่อย่างไรก็ตาม หากพิจารณาในรายละเอียดแล้ว โปรเซสก็ไม่ได้มีความหมายเพียงโปรแกรมที่กำลังทำงานอยู่เท่านั้น แต่รวมถึง Program Counter, Stack และ Data Section ด้วย

     สถานะของโปรเซส
     เมื่อแต่ละโปรเซสกำลังทำงานอยู่นั้น จะมีการเปลี่ยนแปลงสถานะของโปรเซสในแต่ละช่วงเวลา โปรการทำงานของโปรเซสจะเกิดขึ้นบนสถานะใจสถานะหนึ่งเท่านั้น ซึ่งสถานะของโปรเซสจะประกอบด้วย
     1.New
     คือสถานะที่โปรเซสใหม่กำลังถูกสร้างขึ้น
     2.Ready
     คือสถานะที่โปรเซสกำลังรอคอย หรือพร้อมที่จะครอบครองหน่อยซีพียูเพื่อทำงาน
     3.Running
    คือสถานะที่โปรเซสได้ครอบครองซีพียู หรือโปรเซสที่กำลังทำงานตามคำสั่งของโปรแกรม
     4.Waiting
     คือสถานะที่โปรเซสกำลังรอคอยเหตุการณ์บางอย่าง เช่น รอให้มีการรับหรือส่งข้อมูลให้เรียบร้อยก่อน
     5.Terminated
     คือสถานะที่โปรเซสได้สิ้นสุดลง
     วิธีการจัดตารางการทำงาน
     จากสถานะของโปรเซสที่กล่าวมา ทำให้ทราบว่าโปรเซสใดที่จะถูกส่งไปให้ซีพียูทำงานก่อนดังนั้น ระบบปฎิบัติการจึงต้องมีวิธีการตัดสินใจในการส่งโปรเซสเข้าครอบครองซีพียู จึงเกิดการจัดตารางการทำงานของหน่อยซีพียูขึ้น เพื่อใช่สำหรับแก้ไขปัญหาแลำนำไปสู่การตัดสินใจว่าจะนำโปรเซสที่รอคิวเพ่ือเข้าไปใช่งานในหน่อยซีพียูได้อย่างไร โปยมีหลายวิธีด้วยกันคือ
     
     1.วิธีแบบมาก่อนได้ก่อน
     (First-Come,First-Serced Scheduling : FCFS)
     เป็นวิธีที่โปรเซสใดที่ร้องขอหน่วยซีพียูก่อน ก็จะได้รับการบิการบริการจากซีพียูตามที่ได้ร้องขอกล่าวคือ เป็นไปตามโปรเซสที่ร้องขอหน่อยซีพียูก่อน ก็จะได้รับการบริการจากซีพียูตามที่ได้ร้องขอวิธีใช่ FCFS นั้นสามารถนำแนวคิดหรือหลักการของคิวมาใช้งานได้ทันที ซึ่งเป็นไปในลักษณะ FIFO (First In, First Out) นั้นเอง
     และต่อไปนี้จะเป็นคำอธบายด้วยตัวอย่างวิธีแบบมาก่อนได้ก่อน ให้พิจารฯาโปรเซสต่างๆ และเวลาที่ครอบครองซีพียูดังนี้

     หากโปรเซสที่ป้อนเข้าสู่ระบบเป็นไปตามลำดับ P1,P2 และ P3 ดังนั้น คิวของแต่ล่ะโปรเซสก็จะมีละกษณะดังนี้

ดังนั้นเวลารอคอยของแต่ละโปรเซสคือ
     P1     ใช้เวลารอคอยเป็นศุนย์
     P2     จะใช้เวลารอคอยเท่ากับ 24 มิลลิวินาที
     P3     จะใช้เวลารอคอยเท่ากับ 27 มิลลิวินาที

เมื่อคำนวณเป็นเวลารอคอยเฉลี่ยก็ได้เท่ากับ
     (0 + 24 + 27) / 3 = 17 มิลลิวินาที
วิธีแบบมาก่อนได้ก่อน จะมีประสิทธิภาพก็ต่อเมื่อโปรเซสที่ลำดับเข้ามาในคิวมีความเหมาะสมก็จะทำให้เวลาโดยเฉลี่ยต่ำลง แต่ก็เป็นไปได้ยาก เนื่องจากเป็นเหตุการณ์ที่ยากต่อการควบคุมได้ดังเปรียบเทียบกับตัวอย่างถัดไป โดยสมมุติว่า หากโปรเซสที่ป้อนเข้าสู่ระบบมีลำดับของคิวใหม่เป็น P2.P3 และ P1 ผลที่ได้ก็จะเป็น

เวลาในการีอคอยของแต่ละโปรเซสก็จะเป็น
     P2     จะใช้เวลารอคอยเป็นศูนย์
     P3     จะใช้เวลารอคอยเท่ากับ 3 มิลลิวินาที
     P1     จะใช้เวลารอคอยเท่ากับ 6 มิลลิวินาที
เมื่อคำนวณเป็นเวลารอคอยก็จะได้เท่ากับ
(0 + 3 + 6) / 3 = 3 มิลลิวินาที
ดังนั้น   วิธีมาก่อนได้ก่อน ค่าเฉลี่ยของเวลารอคอยจะมีค่าสูงยิ่งขึ้นอย่างเห็นได้ชัดหากช่วงเวลาการทำงานของแต่ละโปรเซสมีค่าแตกต่างกันมาก

2.วิธีแบบงานใดใช้เวลาสั้นที่สุด จะได้ก่อน
(Short-Job-First Scheduling : SJF)
เป็นวิธีที่ไม่ได้คำนึงถึงลำดับในคิวงานว่างานใดมาก่อนได้ก่อน แต่จะพิจารณาถึงงานหรือโปรเซสที่ใช่เวลาการประมวลผลน้อยก็จะได้บริการหน่อยซีพียูดังนี้

ดังนั้น โปรเซสที่ป้อนเข้าสู่ระบบตามวิธีตามวิธีแบบ SJF ก็จะได้ P4,P1,P3 และ P2 ซึ่งคิวของแต่ล่ะโปรเซสก็จะมีลักษณะดังนี้

3.วิธีตามลำดับความสำคัญ (Priority Scheduling)
เป็นวิธีที่มีการกำหนดความสำคัญของโปรเซสแต่ล่ะโปรเซสไม่เท่ากัน โดยโปรเซสที่จะเข้าครอบครองซีพียูได้ ต้องมีลำดับความสำคัญสูงสุดในกลุ่ม ดังนั้นโปรเซสใดที่มีลำดับสำคัญที่สูงกว่า ก็จะถูกส่งไปประมวลก่อน ถึงแม้ว่าจะมาทีหลังก็ตาม ในขณะเดียวกันโปรเซสที่มีความสำคัญต่ำกว่า ถึงแม้จะมาก่อน ก็จะถูกพิจารณาทีหลังตามลำดับความสำคัญต่อไป

4.วิธีหมุนเวียนกันทำงาน (Round-Robin Scheduling)
การจัดตารางด้วยวิธีแบบหมุนเวียนกันทำงานนี้ ถูกออกแบบมาให้ใช้กับระบบคอมพิวพ์เตอร์แบบแบ่งเวลา โดยจะใช้พื้นฐานวิธีมาก่อนได้ก่อน(FCFS) เป็นหลัก แต่โปรเซสจะไม่สามารถครอบครองซีพียูได้เท่ากับเวลาที่ต้องการ ดังนั้น ด้วยวิธีนี้จึงมีการกำหนดให้แต่ล่ะโปรเซสที่เข้าใช้บริการซีพียูได้เท่ากับเวลามาก่อนได้ ดังนั้น ด้วยวิธีนี้จึงมีการกำหนดให้แต่ล่ะโปรเซสที่เข้าใช้จะเป็นช่วงเวลาสั้นๆ

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

การจัดหน่วยความจำ(Memory Allocation)\
     1.การจัดสรรหน่วยความจำแบบต่อเนื่อง
     2.การจัดสรรหน่วยความจำแบบไม่ต่อเนื่อง

ระบบโปรแกรมเดี่ยว(Single Program/Monoprogramming)
ระบบหลายโปรแกรม(Multiprogramming)
หน่วยความจำเสมือน(Virtual Memory)

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

     1.การบันทึกข้อมูลในไฟล์แบบเรียงติดกัน
     หลักการของวิธีนี้ ข้อมูลแต่ละไบต์ของไฟล์จะถูกบันทึกในลักษณะเรียงต่อเรื่องกันไปจนกระทั่งจบไฟล์ แต่วิธีจะเกิดปัญหาขุ้นได้ในกรณีที่ไฟล์นั้นมีข้อมูลเพิ่มเติม

     2.การแบ่งไฟล์เป็นบล็อก
     ด้วยข้อกำจัดวิธีการบันทึกข้อมูลในไฟล์แบบเรียงติดกัน ดังนั้น ระบบปฎิบัติการในเกือบทุกระบบ  ไก้ใช้วิธีการแบ่งไฟล์ออกเป็นส่วนๆ ที่เรียกว่าบล็อก (Block) โดยตะละบล็อกจะนำไปเก็บไว้ที่ตำแหน่งใดในดิสก็ก็ได้

บทที่ 1 ความรู้พื้นฐานเกี่ยวกับคอมพิวพ์เตอร์และระบบปฎิบัติการ

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

1.ซูเปอร์คอมพิวเตอร์
2.เมนเฟรมคอมพิวเตอร์
3.มินิคอมพิวเตอร์
4.เวิร์กสเตชั่น
5.ไมโครคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์ ประกอบด้วย

1.ฮาร์ดแวร์
2.ซอฟแวร์
3.ข้อมูล
4.กระบวนการทำงาน
5.บุคลากร


คุณสมบัติของคอมพิวเตอร์ ประกอบด้วย

1.ความเร็ว

2.ความน่าเชื่อถือ

3.ความเที่ยงตรงและแม่นยำ

4.จัดเก็บข้อมูลได้ปริมาณมาก

5.ความสามารถในการสื่อสารและเครือข่าย



สื่อบันทึกข้อมูลแบบแม่เหล็ก ได้แก่ เทปแม่เหล็ก ดิสเกตต์ และฮาร์ดดิสก์ เป็นต้น
สื่อบันทึกข้อมูลแบบแสง ได้แก่ สื่อออปติคัลดิสก์ต่างๆ อันประกอบด้วย
·       สื่อที่อ่านได้อย่างเดียว เช่น แผ่น CD-ROM, DVD-ROM, BD-ROM
·       สื่อที่อ่านและเขียนได้จนเต็มแผ่น เช่น แผ่น CD-R, DVD-R, BD-R และ
·       สื่อที่อ่านและเขียนทับข้อมูลเดิมได้ เช่น แผ่น CD-RW, DVD-RW, BD-RE
สื่อบันทึกข้อมูลแบบแฟลช ได้แก่ แฟลชไดรฟ์ และการ์ดหน่อยความจำชนิดต่างๆ
อุปกรณ์ต่อพ่วง หมายถึงอุปกรณ์ที่เป็นส่วนหนึ่งของระบบคอมพิวเตอร์ ผ่านกานเชื่อมต่อเพื่อเพิ่มขยายขีดความสามารถให้กับคอมพิวเตอร์เพื่อใช้ประโยชน์ด้านใดด้านหนึ่ง
อุปกรณ์ต่อพ่วง ยังแบ่งออกเป็น 3 ประเภทด้วยกันคือ
1.              อุปกรณ์ต่อพ่วงเพื่อการป้อนข้อมูลเข้าสู่คอมพิวเตอร์ เช่น คีย์บอร์ด เมาส์ ไมโครโฟน และสแกนเนอร์
2.              อุปกรณ์ต่อพ่วงเพื่อการแสดงผลข้อมูล เช่น เครื่องขับออปติคัลดิสก์แบบภายนอก เครื่องอ่านการ์ดหน่วยความจำแบบภายนอก และฮาร์ดดิสก์แบบเชื่อมต่อภายนอก
ระบบปฎิบัติการ คือโปรแกรมที่ทำหน้าที่เป็นตัวกลางระหว่างผู้ใช้คอมพิวเตอร์กับเครื่องคอมพิวเตอร์ โดยมีจุกประสงค์คือ จะกำหนดสภาพแวดล้อมที่เหมาะสมให้แก่ผู้ใช้ เพื่อนผู้ใช้สามารถปฎิบัติงานกับคอมพิวเตอร์ได้อย่างสะดวกและเป็นไปอย่างมีประสิทธิภาพ
ระบบปฎิบัติการยุคที่ 1 จัดอยู่ในยุคที่ไม่มีระบบปฎิบัติการไว้ใช้งาน ผู้ควบคุมเครื่องจะต้องป้อนคำสั่งที่เป็นภาษาเครื่องเข้าไปโดยตรง
ระบบปฎิบัติการรุ่นที่ 2 เป็นยุคที่เริ่มใช้ระบบปฎิบัติการประมวลผลแบบแบตช์
ระบบปฎิบัติการรุ่นที่ 3 เป็นยุคที่เริ่มนำระบบปฎิบัติการที่ประมวลผลแบบมัลติโปรแกรมมิ่ง ไทม์แชริ่ง มัลติโปรเซสซิ่ง และระบบเรียลไทม์มาใช้
ระบบปฎิบัติการรุ่นที่ 4 เป็นยุคที่เริ่มมีระบบปฎิบัติการบนไมโครคอมพิวเตอร์ เพื่อรองรับงานประมวลผลแบบงานเดียว (MS-DOS) และมัลติทาสกิ้ง (Windows) รวมถึงระบบปฎิบัติการที่ใช้งานบนระบบเครือข่าย
                หน้าที่ของระบบปฎิบัติการ ประกอบด้วย
                1.การติดต่อกับผู้ใช้
                2.การควบคุมดูแลอุปกรณ์
                3.การจัดสรรทรัพยากร

วันพุธที่ 2 พฤศจิกายน พ.ศ. 2559

บทที่ 2 โครงสร้างของระบบคอมพิวเตอร์

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

          ตัวควบคุมอุปกรณ์ แต่ละตัวจะมีหน้าที่ควบคุมอุปกรณ์ที่ตนรับผิดชอบ เช่น ดิสก์ไอรฟ์ หรือเครื่องพิมพ์ เป็นต้น


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

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

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

          เมื่อมีการเปิดเครื่อง เพื่อให้คอมพิวเตอร์เริ่มทำงาน เหตุการณ์ของการเปิดเครื่องคอมพิวเตอร์จะเรียกว่า การบูต (Boot)

          ครั้นเมื่อระบบปฎิบัติการได้โหลดเข้าสู่หน้าหน่วยความจำหลักเป็นที่เรียบร้อย Bootstrap Program ก็หมดหน้าที่ แล้วจะปล่อยให้ระบบปฎิบัติการเป็นตัวควบคุมดูแลระบบ ระบบปฎิบัติการก็จะรอคอยสัญญาณขัดจังหวะ หรือที่เรียกว่า การอินเตอร์รัปต์ (Interrupt)
          
          สำหรับฮาร์ดแวร์ สามารถส่งสัญญาณอินเตอร์รัปต์ผ่านทาง System Bus มายังซีพียูได้ตลอดเวลา ในขณะที่ส่วนของซอฟต์แวร์จะส่งสัญญาณอินเตอร์รัปต์ผ่านทาง System Ca;; เพื่อให้เอ็กซีคิวต์คำสั่งที่ต้องการ

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

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

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

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

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

          DMA (Direct Memory Access) เป็นวิธีการส่งข้อมูลจากอุปกรณ์ I/O ไปยังหน่วยความจำโดยตรง โดยไม่ต้องผ่านซีพียู วิธีนี้จะทำให้การส่งข้อมูลมีความรวดเร็วยิ่งขึ้น อีกทั้งยังไม่เปลืองเวลาซีพียูด้วย

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

          หน่วยความจำแบบ Volatile เช่นรีจิสเตอร์ แคช และหน่วยความจำหลัก ข้อมูลที่บันทึกอยู่ในหน่วยความจำชนิดนี้ ถึงแม้จะไม่มีไฟฟ้าเลี้ยงวงจร

          หน่วยความจำแบบ Non-Volatile เช่น ดิสก์ เทป ซีดี ข้อมูลที่บันทึกอยู่ในหน่วยความจำชนิดนี้ยังคงอยู่ต่อไป ถึงแม้จะไม่มีไฟฟ้าเลี้ยงก็ตาม

          เพื่อป้องกันข้อผิดพลาดในระบบ ที่อาจส่งผลเสียหายต่อโปรแกรมที่ส่งเข้ามาประมวลผลรวมถึงตัวระบบปฎิบัติการเอง ดังนั้น ในระบบที่รองรับการทำงานหลายงาน และมีการใช้ทรัพยากรร่วมกัน จึงต้องมีการแบ่งการทำงานเป็นโหมด ซึ่งประกอบด้วย
          1.โหมดทำงานของผู้ใช้ (User Mode)
          2.โหมดทำงานของระบบ (System Mode/Monitor Mode)

          เพื่อป้องกันไม่ให้ผู้ใช้หรือโปรแกรมเข้าไปจัดการกับอุปกรณ์ I/O อย่างไม่ถูกต้องจึงมีการกำหนดให้คำสั่ง I/O ทั้งหมดเป็นคำสั่งสงวน (Privilege Instructions) นั่นหมายความว่า ผู้ใช้จะไม่สามารถสั่งการกับอุปกรณ์อินพุตและเอาต์พุตได้โดยตรง แต่ถ้าหากผู้ใช้ต้องการใช้งาน I/O จะต้องติดต่ออผ่านระบบปฎิบัติการเท่านั้นด้วยการเรียกใช้งานผ่าน System Call

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

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

          การศึกษา โครงสร้างของระบบปฎิบัติการ สามารถพิจารณาถึงส่วนสำคัญต่างๆ ดังนี้
          1.ส่วนประกอบของระบบ
          2.งานบริการของระบบปฎิบัติการ
          3.การติดต่อระหว่างโปรเซสกับระบบปฎิบัติการ