CS309 Operting System By Suphansa Nawaka
Chapter 1 Introduction

What is OS?

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

                Operating System Definitions (นิยามของ OS)

                                1.บริหารจัดการทรัพยากร

                                2.ควบคุมโปรแกรมผู้ใช้และการทำงานของอุปกรณ์รับส่งข้อมูล

                                3.เป็นโปรแกรมที่ทำงานอยู่ตลอดเวลาในขณะที่เครื่องทำงานอยู่

                Simple Batch Systems (ระบบกลุ่มอย่างง่าย)

                                ผู้ใช้หรือผู้พัฒนาโปรแกรมติดต่อโปรแกรมโดยตรงกับคอมฯโดยผ่าน Operator พนักงานจัดเตรียมข้อมูลของผู้ใช้โปรแกรมอยู่ในรูปของบัตรเจาะรูและการ์ด รีดเดอร์ วิธีการในการติดต่อของผู้ใช้เตรียมช็อกของโปรแกรมข้อมูลสาระสนเทศนำไปให้ operator ระบบปฏิบัติการ และในยุคแรกงานหลักจะถูก Execute โดยระบบปฏิบัติการฝังไว้ในหน่วยความจำ

            Control Cards

                        การเกิดปัญหา โปรแกรมคอมพิวเตอร์ไม่ทรสบว่างานแต่ละงานใช้โปรแกรมภาษาอะไร, ไม่สามารถแยกงานได้และไม่รู้ว่ามาจากฌปรแกรมใด การแก้ปัญหา เสียบบัตรเจาะรู

                Multiprogrammed Batch Systems (การทำงานพร้อมๆกันหลายโปรแกรม)

                        Os จะนำตัวแรกมาทำก่อนหลังจากนั้นก็อาจจะต้องรอตัวที่2 ในระบบ Os จะสับสวิทเพื่อไปทำตัวที่2 จนเสร็จแล้วแล้วสับไปหาตัวที่1 แต่ตัวที่3ก็เข้ามาเลยต้องสับสวิทจากตัวที่2ไปหาตัวที่3ทำจนเสร็จแล้วแล้วสับไปหาตัวที่2ทำจนเสร็จ

                Parallel Systems (ระบบคู่ขนาน)  

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

                Symmetric Multiprocessing Architecture (สถาปัตยกรรม)

                        Process มีการแบ่งการประมวลผลที่เข้ามาอย่างเท่าเทียมกันไม่มีProcessor ตัวใดรับงานมากกว่าตัวอื่นทุกตัวจะทำงานด้วยตัวเองโดยไม่ต้องรับคำสั่งจากตัวอื่น

 

                    

Real-Time Systems (โต้ตอบแบบฉับพลัน)

            ระบบนี้ส่วนใหญ่จะใช้ในระบบเจาะจงพิเศษ เช่น งานทดลองทางด้านวิทยาศาสตร์ ระบบภาพ ระบบงานอุตสาหกรรมและระบบที่เป็น Real-time

Distributed Systems (ระบบกระจายอำนาจ)

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

                ข้อดีของมันคือ สามารถใช้ทรัพยากรร่วมกัน ใช้เวลาในการโหลดเร็วขึ้น และมีความน่าเชือถือ

 

08:55 - 21 August 2008 - comments (0) - post comment
Chapter2 Compute Structure Systems

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

Central Processing Unit (CPU) หน่วยประมวลผลกลาง (ซีพียู)
         หน่วยเก็บที่อยู่ภายในเครื่องคอมพิวเตอร์ซึ่งเป็นหน่วยสำคัญที่สุดเปรียบได้กับสมองของคอมพิวเตอร์ มีหน้าที่ควบคุมการทำงานของหน่วยต่างๆ ให้ทำงานประสานสอดคล้องกัน หน่วยประมวลผลกลางแบ่งออกได้เป็น 3 ส่วนโดยประกอบรวมกันอยู่บนชิปเล็กๆ เพียงชิ้นเดียว เรียกว่า ไมโครโพรเซสเซอร์ microprocessor ส่วนต่างๆ เหล่านี้ได้แก่
1. หน่วยเรจิสเตอร์ Register ทำหน้าที่เก็บข้อมูลที่ส่งจากหน่วยความจำหลักและข้อมูลที่จะนำไปใช้ประมวลผล
2. หน่วยคำนวณและตรรกะ Arithmetic and Logical Unit : ALU ทำหน้าที่ประมวลผลด้วยวิธีการทางคณิตศาสตร์ และตรรกะ
3. หน่วยควบคุม Control Unit ทำหน้าที่ควบคุมการทำงานทุกส่วนของเครื่องคอมพิวเตอร์ ได้แก่ ส่วนรับข้อมูล ส่วนประมวลผลกลาง และส่วนแสดงผล ให้ทำงานสอดคล้องกัน

ซ็อกเก็ตซีพียู CPU Socket
                 Read-Only Memory (ROM)  หน่วยความจำหลักของคอมพิวเตอร์สำหรับเก็บคำสั่งไว้อย่างถาวร ไม่สามารถลบทิ้งได้ทั้งนี้เพราะเป็นชิปที่ผู้ผลิตได้บรรจุคำสั่งไว้อย่างถาวร

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

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

นอกจากนี้ก็ยังมี ฟลอปปีดิสก์ Floppy disk, การ์ดแสดงผล Display Cardซีดี CD, ดีวีดี DVD; Digital Video Disc, ซาร์วการ์ด Sound Card reference
จอภาพ Monitor, เมาส์ Mouse, คีย์บอร์ด หรือแป้นพิมพ์ Keyboard

 

11:54 - 20 August 2008 - comments (0) - post comment
Chapter3 OS Structure

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

                        Protection Systems (ระบบป้องกันและรักษาความปลอดภัย)  

                        การป้องกันนั้นจะทำโดยการสร้างกลไกบางอย่างเพื่อป้องกันแฟ้มข้อมูลหน่วยความจำและทรัพยากรต่างๆ

                Networking (Distribute Systems)

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

การแชร์ข้อมูลต่างๆก็สามารถทำได้รวดเร็วและมีความน่าเชื่อถือ

                Command Interpreter System (ระบบแปลคำสั่ง)

                        ระบบนี้เป็นการประสานงานระหว่างOSกับผู้ใช้

                Operating System Services

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

                Addition Operating System Functions

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

                System Calls

                        ตัวนี้จะเป็นการระหว่างโปรแกรมที่กำลังรันอยู่และมีการส่งค่าตัวแปรระหว่างโปรแกรมและ Os ซึ่งมี3รูปแบบคือ1.ส่งผ่าน register มีความเร็วเพราะใกล้ cpu 2.ถ้าหากมีตัวแปรมากกว่า parameter อาจส่งผ่านหน่วยความจำแล้วส่งต่อไปยัง register อีกที 3.ใช้ step โปรแกรมจะวางข้อมูลลงใน stack โดยหน่วยความจำ

                Passing of Parameter as a Table

                        ตัวนี้จะมีหน้าที่อยู่ 5 อย่าง

                                                1.ควบคุมโปรเซสในขณะที่เอ็กสคิวอยู่

                                                2.มีการจัดการไฟล์สร้าง ลบ และเปลี่ยน

                                                3.การจัดการ Divide

                                                4.บำรุงรักษาข้อมูล

                                                5.ติดต่อสื่อสารข้อมูล

            Unix Running Multiple Programs

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

                System Programs (โปแกรมระบบ)

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

                Systems Structure-Simple Approach(โครงสร้างระบบและโครงสร้างอย่างง่าย)

                        MS-DOS จะถูกออกแบบมาทำงานได้มากที่สุดโดยการใช้เนื้อที่น้อยที่สุด ซึ่งจะไม่มีการแบ่ง modules ทั้งยังมีโครงสร้างระบบที่แต่ละส่วนเชื่อมต่อกันแต่ก็ยังไม่มีการแบ่งอย่างชัดเจน

                Virtual Machines(เครื่องจักรเสมือน)

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

 

 

11:53 - 20 August 2008 - comments (0) - post comment
Chapter4 Process

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

Kernel เป็นส่วนของ OS ที่อยู่ใกล้กับ Hardware มากที่สุด

 ประกอบด้วยส่วนย่อย ๆ พื้นฐาน 3 ส่วนคือ

1.       ตัวส่ง (Dispatcher) มีหน้าที่จัดการส่งโปรเซสเข้าไปใน CPU

2.       ตัวจัดการ Interrupt มีหน้าที่วิเคราะห์ Interrupt ที่เกิดขึ้นและเลือกรูทีนที่เหมาะสมกับ Interrupt นั้น ๆ

3.       ตัวควบคุมมอนิเตอร์ (Monitor control) มีหน้าที่ควบคุมดูแลการเข้าถึง ตรวจสอบและตรวจจับการทำงานต่าง ๆ ของระบบ

 Memory manager

            มีหน้าที่จัดการเกี่ยวกับหน่วยความจำของระบบทั้งหน่วยความจำหลัก และหน่วยความจำเสมือน

File manager ทำหน้าที่เกี่ยวกับ File มีหน้าที่เก็บไฟล์ลงดิสก์ การหาไฟล์ และการอ่านไฟล์ เป็นต้น

System  manager

        มีหน้าที่จัดสรรทรัพยากรอื่น ๆ ในระบบโดยจะทำงานร่วมกับ Short-term Scheduler เนื่องจากหลังจากที่ Short-term Scheduler ส่งโปรเซสเข้าสู่สถานะรันแล้ว โปรเซสนั้นอาจต้องใช้ทรัพยากรอื่น ๆ ในระบบจึงทำให้การทำงานของ  Short-term Scheduler และ Resource manager ต้องทำงานประสานกัน

หน้าที่ของระบบปฏิบัติการ 
             1. การติดต่อกับผู้ใช้ หรือยูเซอร์อินเทอร์เฟซ (User interface) 
             ผู้ใช้สามารถสั่งให้คอมพิวเตอร์ทำงาน จึงเป็นหน้าที่ของระบบปฏิบัติการใน      เป็นตัวกลาง และเตรียมสภาพแวดล้อมต่าง ๆ ให้กับผู้ใช้ในการสั่งงานคอมพิวเตอร์ หลังจากนั้นจะใช้คำสั่งผ่านทาง System call เพื่อปฏิบัติสิ่งที่ผู้ใช้ต้องการ
ใช้สามารถติดต่อหรือควบคุมการทำงานของเครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการได้ โดยระบบปฏิบัติการจะเครื่องหมายพร้อมต์ (prompt) ออกทางจอภาพเพื่อรอรับคำสั่งจากผู้ใช้โดยตรง ตัวระบบปฏิบัติการจึงเป็นตัวกลางที่ทำหน้าที่เชื่อมโยงระหว่างผู้ใช้กับฮาร์ดแวร์ของเครื่อง นอกจากนี้ผู้ใช้อาจเขียนโปรแกรมเพื่อใช้งานกรณีนี้ผู้ใช้ก็สามารถติดต่อกับระบบปฏิบัติการได้โดยผ่านทาง System Call 
          2. ควบุคมดูแลอุปกรณ์ (Control devices)
             ระบบปฏิบัติการมีหน้าที่ควบคุมอุปกรณ์ต่าง ๆ ให้ทำงานสอดคล้องกับความต้องการ โดยไม่เกิดข้อผิดพลาด เช่นการควบคุมดิสก์ จอภาพ หรือซีดีรอม เป็นต้น ระบบปฏิบัติการจะรับคำสั่งจากผู้ใช้ และเรียกใช้ System call ขึ้นมาทำงาน ให้ได้ผลตามต้องการ ให้ความสะดวกแก่ผู้ใช้ในการใช้งานอุปกรณ์ต่างๆ ได้ง่าย เช่น การเข้าถึงข้อมูลในแฟ้มหรือติดต่อกับอุปกรณ์รับ/แสดงผลข้อมูล จึงทำให้ผู้พัฒนาโปรแกรมไม่จำเป็นต้องเขียนโปรแกรมเพื่อควบคุมตัวขับดิสก์เพราะระบบปฏิบัติการจัดบริการให้มีคำสั่งสำหรับติดต่อกับอุปกรณ์เหล่านี้ได้อย่างง่ายๆเนื่องจากผู้ใช้เครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการ อาจไม่มีความจำเป็นต้องมีความรู้ความเข้าใจถึงหลักการทำงานภายในของเครื่อง ดังนั้น ระบบปฏิบัติการจึงมีหน้าที่ควบคุมการทำงานของโปรแกรม การทำงานของอุปกรณ์ต่างๆ เพื่อให้การทำงานของระบบเป็นไปอย่างถูกต้องและสอดคล้องกัน ระบบปฏิบัติการจึงมีส่วนประกอบของหน้าที่ต่างๆ ที่ควบคุมอุปกรณ์แต่ละชนิดที่มีหน้าที่แตกต่างกันไป โดยผู้ใช้อาจเรียกใช้ผ่านทาง System Call หรือเขียนโปรแกรมขึ้นมาควบคุมอุปกรณ์เหล่านั้น
            3. จัดสรรทรัพยากร หรือรีซอร์สระบบ (Resources management)
          เพราะทรัพยากรของระบบมีจำกัด และมีหลายประเภท ระบบปฏิบัติการต้องบริการให้ผู้ใช้ ได้ใช้ทรัพยากรต่าง ๆ ให้เป็นไปอย่างต่อเนื่อง ตัวอย่างทรัพยากร ที่ระบบปฏิบัติการต้องจัดการ เช่น ซีพียู หน่วยความจำ ซีดีรอม เครื่องพิมพ์ เป็นต้น
ทรัพยากรหลักที่ต้องมีการจัดสรร ได้แก่ หน่วยประมวลผลกลาง หน่วยความจำหลัก อุปกรณ์รับ/แสดงผลข้อมูล และแฟ้มข้อมูล เช่น การจัดลำดับให้บริการใช้เครื่องพิมพ์การสับหลีกงานหลายงานในหน่วยความจำหลักและการจัดสรรหน่วยความจำหลักให้กับโปรแกรมทั้งหลาย ทรัพยากร คือสิ่งที่ซึ่งถูกใช้ไปเพื่อให้โปรแกรมดำเนินไป

 

11:52 - 20 August 2008 - comments (0) - post comment
Chapter5 CPU Scheduling

ระบบนี้จะมีการทำงานอยู่ 4 แบบคือ

                                1.First-Come, First-Served (FCFC) Scheduling

                                                เป็นการทำงานแบบมาก่อนทำก่อน

                                2.Shortest-Job-First (FJR) Scheduling

                                                ตัวที่สั้นทำก่อนตัวนี้จะมีการแทรกกลางคัน

                                3.Priority scheduling (จัดลำดับความสำคัญ)

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

                              4.Round Robin (RR) อัลกอริทึมแบบเวียนเทียน คือเป็นการทำงานแบบวนรอบไปเรื่อยๆจนกว่าจะหมด

-CPU Utilization เป้าหมายหลักของการใช้ CPU ให้คุ้มค่านั่นคือ การต้องให้ CPU ทำงาน ตลอดเวลา

-Throughput   คือ จำนวน process ที่ได้ทำงานเสร็จ ในช่วงเวลาหนึ่งๆ

                - Turnaround Time ือ ระยะเวลาที่ใช้ในการ service แต่ละ process นับตั้งแต่ process นั้น ถูกส่งเข้าทำงานจนกระทั่ง user ได้ผลลัพธ์กลับมา

                - Waiting time    คือ เวลาที่ process ใช้ในการรอ

                - Response time   คือ เวลาที่ process ใช้ในการตอบสนอง ต่อคำสั่งของ user

11:52 - 20 August 2008 - comments (0) - post comment
Chapter6 Deadlocks

Deadlocks (วงจรอับหรือภาวะปิดตาย)

 Deadlock นี้เป็นสถานการณ์ที่โปรเซส หลายๆโปรเซสพยายามที่จะใช้ทรัพยากรของระบบและ ทรัพยากรที่ร้องขอใช้นั้นมีโปรเซสอื่นใช้อยู่โปรเซสที่ร้องขอต้องรอคอยก่อน

Step ของ Process ในการเรียกใช้ Resource

    Request Resource          Use Resource        Release     Resource

เงื่อนไขต่อไปนี้ที่ทำให้เกิดวงจรอับ
1. ห้ามใช้ทรัพยากรร่วมกัน
2. เมื่อมีการถือครองและรอคอย
3. เมื่อทำงานในระบบไม่มีการแทรกกลางคัน
4. เกิดวงจรรอคอย
       1.1 ห้ามใช้ทรัพยากรร่วมกัน กล่าวคือ มีเพียง 1 โปรเซสที่สามารถใช้ทรัพยากร 1 ชุดได้ ในช่วงเวลาใดเวลาหนึ่ง

                     2.2 ถือครองและรอคอย  โปรเซสจะถือครองทรัพยากรอย่างน้อย 1 ชุด และรอคอยทรัพยากรชุดอื่น จากโปรเซสอื่นที่ถือครองอยู่

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

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

                การแก้ปัญหามี3วิธี

                                1.กำหนดกฏเกณฑ์บางอย่างขณะใช้ทรัพยากรเพื่อให้แน่ใจว่าไม่เกิด Deadlock

                                2.ไม่ป้องกันใดๆเลยปล่อยให้เกิดให้เกิดก่อนแล้วจึงแก้

                                3.มองข้ามปัญหาทั้งหมดว่าไม่เคยเกิด Deadlock ในระบบ

11:51 - 20 August 2008 - comments (0) - post comment

About Me


Links

Categories
***

Recent Entries
Chapter 1 Introduction
Chapter2 Compute Structure Systems
Chapter3 OS Structure
Chapter4 Process
Chapter5 CPU Scheduling

Friends




Power By : BlogKa.com - Free Blog Hosting