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

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

โปรเซส คือ 
       โดยความหมายในทางปฏิบัติแล้ว process หมายถึงโปรแกรมที่กำลังถูกประมวลผลในการทำงานทั่วไปในระบคอมพิวเตอร์นั้นผู้ใช้อาจต้องการเรียกใช้ word processorหรือjava compilerหรือโปรแกรมอื่นซึ่งโปรแกรมเหล่านี้จะถูกเปลี่ยนให้เป็น processผ่านกระบวนการที่ได้กำหนดไว้ ช่วงชีวิตของโปรแกรมที่กำลังถูกประมวลผลนี้มีอยู่หลายสถานะ (process state) และตัวของprocessเองก็ต้องมีที่เก็บข้อมูลที่เกี่ยวข้องกับตัวมันเองซึ่งเราเรียกส่วนนี้ว่า process control block (PCB)
การโปรเซสของ CPU
สถานะของกระบวนการ (Process State) 
       ระบบคอมพิวเตอร์แบบหลายโปรแกรม (Multiprogramming)และแบบผู้ใช้หลายคน (Multiuser)จะมีกระบวนการที่ทำงานอยู่ในระบบหลายกระบวนการพร้อมๆกันโดยที่บางกระบวนการกำลังขอเข้าใช้งานหน่วยประมวลผลกลาง (CPU)บางกระบวนการกำลังใช้งานหน่วยประมวลผลกลางอยู่บางกระบวนการกำลังร้องขออุปกรณ์รับ-ส่งข้อมูลอยู่พฤติกรรมของกระบวนการเหล่านี้เรียกอีกอย่างว่า "สถานะกระบวนการ"(State of Process)กระบวนการ(Process)หมายถึงคำสั่งในโปรแกรมที่ถูกประมวลผลด้วยหน่วยประมวลผลกลางหรืออีกในหนึ่ง ณ เวลาใดๆจะมีเพียงอย่างมาหนึ่งคำสั่งที่ดำเนินการอยู่สถานะของกระบวนการ(Processtate)กระบวนการต่างๆที่กำลังทำงานอยู่ในระบบเดียวกันจะมีการเปลี่ยนแปลงสถานะของกระบวนการถึง 5 สถานะด้วยกัน ซึ่งสถานะดังกล่าวจะถูกกำหนดขึ้นโดยกิจกรรม ณ เวลาปัจจุบันที่กระบวนการนั้นๆกำลังกระทำอยู่โดยที่แต่ละ

กระบวนการจะตกอยู่ในสถานะใดสถานะหนึ่งจากสถานะทั้ง 5 ต่อไปนี้

       New กระบวนการใหม่กำลังถูกสร้างขึ้น

       Running กระบวนการกำลังทำงานตามคำสั่งในโปรแกรม

       Waiting กระบวนการกำลังรอคอยให้เหตุการณ์บางอย่างเกิดขึ้น

       Ready กระบวนการกำลังรอคอยที่จะเข้าใช้หน่วยประมวลผล
       Terminate กระบวนการเสร็จสิ้นการทำงาน orde�.. f.-..0�.0.�. windowtext .5pt; mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>ตัวชี้หน่วยความจำที่ process ใช้อยู่Context dataข้อมูลที่อยู่ใน register ของ process ขณะถูกประมวลผลI/O status informationข้อมูลของ I/O ที่ process เกี่ยวข้องAccounting information ข้อมูลเกี่ยวกับเวลาของCPU ที่process ใช้, เวลาที่ใช้ไป, ช่วงเวลาที่สามารถใช้ได้และอื่นๆที่เกี่ยวข้อง
แสดงแผนภาพสถานการณ์ของกระบวนการ
 สถานะของโปรเซส
1.New 
       เป็นสถานะของกระบวนการใหม่ที่กำลังถูกสร้างขึ้นหรือกระบวนการเลือกมาจากหน่วยความจำสำรอง(Disk)ซึ่งเป็นคำสั่งที่ผู้ใช้เรียกใช้ผ่าน Command Interpreterแปลเป็นคำสั่งไปเรียกระบบปฏิบัติการให้ดึงข้อมูลหรือโปรแกรมมาตามคำสั่งของผู้ใช้เพื่อเข้ามาประมวลผลในระบบ เมื่อคำสั่งต่างๆถูกเรียกเข้ามาคำสั่งเหล่านั้นจะมาเข้าแถวรอในแถวงาน(Job Queue) เตรียมเปลี่ยนสถานะเพื่อทำงาน
2.Ready  
       เป็นสถานะของกระบวนการที่เตรียมตัวเข้าไปใช้งานหน่วยประมวลผลกลางในสถานะนี้จะเปลี่ยนมาจาก New หรือ Waiting หรือ Running ก็ได้ กระบวนการที่มาจาก New, Waiting หรือ Running จะเข้าแถวคอยเพื่อเข้าไปใช้หน่วยประมวลผลกลางแถวคอยนี้เราเรียกว่า(Ready Queue)
3.Running 
       เป็นสถานะของกระบวนการที่ได้เข้าไปใช้งานหน่วยประมวลผลกลาง ณ เวลาใดเวลาหนึ่งจะมีเพียง 1 กระบวนการเท่านั้นที่อยู่ในสถานะนี้ของระบบ1ระบบ(มีเพียงกระบวนการเดียวเท่านั้นที่จะได้ใช้หน่วยประมวลผลกลางของแต่ละระบบ) เนื่องจากข้อจำกัดของประมวลผลกลางทำงานด้วยความเร็วสูงมาก จึงไม่มีปัญหาในเรื่องการรอ
4.Terminate 
       เป็นสถานะของกระบวนการที่ได้รับการประมวลผลเสร็จเรียบร้อยแล้วหรือกระบวนการ มีการทำงานที่ผิดปกติ เช่น มีการหารด้วยศูนย์ระบบจะหยุดการทำงานของกระบวนการนั้น แล้วแจ้งให้ทราบถึงข้อผิดพลาดที่เกิดขึ้น (Error)
5.Waiting  

       เป็นสถานะของกระบวนการที่ได้เข้าไปใช้หน่วยประมวลผลกลางแล้วและมีการเรียกใช้ อุปกรณ์รับ - ส่งข้อมูลหรืออุปกรณ์ต่างๆซึ่งทรัพยากรเหล่านั้นยังไม่ว่างหรือมีกระบวนการ อื่นใช้อยู่(เนื่องจาก CPU ทำงานเร็วกว่าอุปกรณ์รับส่งข้อมูลมาก)กระบวนการเล่านั้นจะเปลี่ยนจากRunningมารอในสถานะนี้อาจมีกระบวนการหลายกระบวนการรออยู่จึงมีการจัดคิวในการรอทรัพยากรต่างๆเรียกว่า Device Queue หรือ Waiting Queue
การจัดตารางการทํางานมาก่อนได้ก่อน 
       แบบมาก่อนได้ก่อน (First- Come-First-Served-Scheduling: FCFS) เป็นวิธีการจัดการที่มีความเข้าใจง่าย กล่าวคือโปรเซสใดก็ตามที่มีการร้อนขอซีพียูก่อนก็สามารถครอบครองเวลาซีพียูได้ก่อน โดยเป็นไปตามลำดับเวลาของการเข้ามาในลำดับคิวข้อดีของการจัดคิวแบบ FCFS นั้นเป็นอัลกอริทึมที่ง่าย  ไม่ยุ่งยากซับซ้อน
รูปที่ 1 การกำหนดเวลาแบบ FCF
การจัดตารางการทํางานแบบหมุนเวียนการทำงาน
       แบบหมุนเวียนกันทำงาน (Round-Robin Scheduling)
ถูกออกแบบมาให้ใช้กับระบบคอมพิวเตอร์แบบแบ่งเวลา โดยใช้พื้นฐานวิธีแบบมาก่อนได้ก่อนเป็นหลัก ซึ่งแต่ละโปรเซสจะใช้บริการซีพียูด้วยเวลาที่เท่าๆ กัน หมุนเวียนกันไป ที่เรียกว่า เวลาควันตัม (Quantum Time)

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

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

       1.2. การจัดสรรหน่วยความจำแบบไม่ต่อเนื่อง
หลักการว่าโปรแกรมที่โหลดเข้าไปยังหน่วยความจำนั้น จะแบ่งเป็นกลุ่ม แยกออกเป็นส่วนๆ หลายๆ ส่วนด้วยกัน

       ระบบโปรแกรมเดี่ยว (Single Program/Mono programming)
คือระบบปฏิบัติการที่สามารถรันโปรแกรมของผู้ใช้ได้เพียงครั้งละหนึ่งเท่านั้น เช่น ระบบปฏิบัติการ DOS

       ระบบหลายโปรแกรม (Multiprogramming)
คือระบบปฏิบัติการที่สามารถรันหลายๆ โปรแกรมได้ในขณะเดียวกัน เช่น ระบบปฏิบัติการ Windows, Unix และ Linux เป็นต้น

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


2.การจัดการแฟ้มข้อมูล
มีหลักการอยู่ 2 วิธีด้วยกัน

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

       2.2. การแบ่งไฟล์เป็นบล็อก
ไฟล์จะถูกแบ่งออกเป็นส่วนๆ โดยแต่ละบล็อกจะนำไปเก็บไว้ที่ตำแหน่งใดในฮาร์ดดีสก์ก็ได้  โดยแต่ละบล็อกจะมีลิงก์ที่ใช้สำหรับเชื่อมโยงตำแหน่งของข้อมูลที่อยู่ในลำดับถัดไป จนพบรหัส EOF (End of File) จุดจบ





























แหล่งที่มา
1.https://sites.google.com/site/bthreiynbththi99/1/kar-pramwl-phl-hrux-por-ses สืบค้นเมื่อ 8/12/2559
2.https://sites.google.com/site/rabbpdibatikar2/1-baeb-ma-kxn-di-kxn สืบค้นเมื่อ 8/12/2559
3.https://sites.google.com/site/mareesa93/hnwy-kar-reiyn-ru3 สืบค้นเมื่อ 8/12/2559

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

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