คำถามติดแท็ก process-scheduling

6
การสร้างชุดค่าผสมจากชุดคู่โดยไม่มีการทำซ้ำองค์ประกอบ
ฉันมีชุดของคู่ แต่ละคู่เป็นรูปแบบ (x, y) เช่นว่า x, y [0,n)เป็นจำนวนเต็มจากช่วง ดังนั้นถ้า n คือ 4 ดังนั้นฉันมีคู่ต่อไปนี้: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) ฉันมีคู่แล้ว ตอนนี้ฉันต้องสร้างชุดค่าผสมโดยใช้n/2คู่ที่ไม่มีจำนวนเต็มซ้ำ (กล่าวอีกอย่างหนึ่งว่าจำนวนเต็มแต่ละค่าปรากฏอย่างน้อยหนึ่งครั้งในชุดค่าผสมสุดท้าย) ต่อไปนี้เป็นตัวอย่างของชุดค่าผสมที่ถูกต้องและไม่ถูกต้องเพื่อความเข้าใจที่ดีขึ้น 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] มีคนแนะนำฉันถึงวิธีในการสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดเมื่อฉันมีคู่

4
การกำหนดเวลาแบบมีส่วนร่วมหยุดกระบวนการชั่วคราวเมื่อดำเนินการ I / O
การอ้างอิงระบบปฏิบัติการหลายแห่งบอกว่าด้วยการทำงานหลายอย่างร่วมกัน (เมื่อเทียบกับการยึดเอาเสียก่อน) กระบวนการจะรักษา CPU จนกว่าจะระงับตัวเองโดยสมัครใจ หากกระบวนการที่กำลังดำเนินการตามคำขอ I / O ที่ไม่สามารถตอบสนองได้ทันที (เช่นขอให้ใช้รหัสจังหวะที่ยังไม่พร้อมใช้งาน) ตัวกำหนดตารางเวลาจะระงับหรือไม่เก็บ CPU ไว้จนกว่าจะสามารถให้บริการได้จริงหรือไม่ [แก้ไขเพื่อแทนที่ "บล็อกบน i / o" ด้วย "ทำการร้องขอ I / O ที่ไม่สามารถทำได้ทันที"]

3
สิ่งที่รับประกันทำให้ระบบปฏิบัติการแบบเรียลไทม์“ นุ่ม” นั้นมีให้
ฉันคิดว่าฉันรู้ว่าระบบปฏิบัติการแบบเรียลไทม์ "ยาก" คืออะไร เป็นระบบปฏิบัติการที่มีตัวกำหนดตารางเวลาที่จัดทำสัญญากับแอ็พพลิเคชันโปรแกรมเมอร์ แอปพลิเคชันให้กำหนดเวลากับแต่ละคำขอการจัดสรรทรัพยากร หากคำขอกำหนดเวลาเป็นไปได้ผู้จัดตารางเวลารับประกันว่าแต่ละทรัพยากรจะถูกจัดสรรให้กับแอปพลิเคชันที่ร้องขอก่อนกำหนดส่ง การรับประกันนั้นเพียงพอที่จะทำให้โปรแกรมเมอร์แอปพลิเคชันสามารถให้เหตุผลเกี่ยวกับเวลาแฝงสูงสุดและปริมาณงานขั้นต่ำของคำขอเฉพาะ คำจำกัดความทั้งหมดที่ฉันพบในระบบ "แบบเรียลไทม์" แบบนิ่ม "ดูเหมือนไม่มีความหมายสำหรับฉัน Wikipedia พูดว่า ประโยชน์ของผลลัพธ์จะลดลงหลังจากวันครบกำหนดดังนั้นจึงลดคุณภาพการบริการของระบบ uhhhh ตกลง. ตามเกณฑ์ที่ว่า Windows 95 นั้นเป็นระบบแบบเรียลไทม์และ 3BSD ก็เช่นกันและเป็น Linux Wikipedia ไม่ได้เป็นแหล่งที่มาที่ดี แต่ความนิยมของ Google ในอีกไม่กี่ครั้งที่ผ่านมานั้นไม่ค่อยดีนัก ตัวอย่างเช่นhttp://users.ece.cmu.edu/~koopman/des_s99/real_time/พูดว่า ในระบบแบบเรียลไทม์ที่อ่อนนุ่มสามารถยอมรับการดำเนินการที่ลดลงในการโหลดสูงสุดที่เกิดขึ้นน้อยมาก นั่นไม่ใช่สัญญานั่นเป็นวิธีแฟนซีที่จะไม่พูดอะไร ตัวอย่างของการรับประกัน / สัญญาแบบเรียลไทม์นุ่ม ๆ ที่เสนอโดยระบบปฏิบัติการจริงคืออะไร ฉันกำลังหาคำตอบของแบบฟอร์ม: ใน (ชื่อระบบปฏิบัติการ) หากโปรแกรมเมอร์ทำ (what-programmer-needs-to-do) ดังนั้นระบบปฏิบัติการรับประกัน (what-the-system-guarantee)

1
ตัวกำหนดเวลาสองระดับมีประโยชน์ในการจัดการการแลกเปลี่ยนหรือไม่
การกำหนดเวลาสองระดับมีประโยชน์เมื่อระบบกำลังทำงานกระบวนการมากกว่าที่เหมาะสมใน RAM: ตัวกำหนดตารางเวลาระดับล่างสลับระหว่างกระบวนการที่อยู่อาศัยและตัวจัดกำหนดการระดับสูงกว่าจะสลับกลุ่มของกระบวนการเข้าและออก ฉันพบว่าไม่มีการเอ่ยถึงการตั้งเวลาสองระดับในระบบปฏิบัติการของ Andrew Tanenbaum : การออกแบบและการนำไปใช้งานครั้งที่ 1 แบบฝึกหัด 2.22 ถามว่าเหตุใดการจัดตารางสองระดับจึงอาจใช้ ฉันไม่รู้ว่ามันเป็นการตรวจสอบความเข้าใจในการอ่านหรือมีเหตุผลอื่นที่ไม่ได้กล่าวถึงอย่างชัดเจนในข้อความ การกำหนดเวลาสองระดับมีประโยชน์ในการจัดการความขัดแย้งของทรัพยากรอื่นนอกเหนือจากหน่วยความจำหรือไม่

3
ความแตกต่างระหว่าง Multiprogramming และ Multitasking คืออะไร
ฉันพบว่ามันยากที่จะแยกความแตกต่างระหว่าง Multiprogramming และ Multitasking อย่างชัดเจน แหล่งที่มาหลักของฉันคือWikipediaแต่บทความ WP ดูเหมือนจะขัดแย้งกับแหล่งข้อมูลที่มีชื่อเสียงน้อยกว่า (เช่นอาจารย์วิทยาลัยของฉัน) เมื่อฉันอ่าน WP การประมวลผลหลายจุดเป็นวิธีพื้นฐานของการเพิ่มปริมาณงานของ CPU โดยการสลับบริบทเมื่อกระบวนการรอ I / O Multiprogramming ไม่ได้รับประกันว่าโปรแกรมจะทำงานในเวลาที่เหมาะสม แท้จริงแล้วโปรแกรมแรกอาจทำงานได้นานหลายชั่วโมงโดยไม่จำเป็นต้องใช้อุปกรณ์ต่อพ่วง การแบ่งปันเวลาแบบมีส่วนร่วมซึ่งมีความหมายเหมือนกันกับการทำงานหลายอย่างแบบร่วมมือกันเป็นการปรับปรุงการทำงานแบบหลายโปรแกรม (ซึ่งไม่ได้มีความหมายเหมือนกัน) บริบทซีพียู - สวิทช์เป็นประจำเพื่อให้การแสดงผลของการดำเนินการพร้อมกัน แต่กระบวนการยังคงต้องให้ผลผลิต - และโปรแกรมที่ออกแบบมาไม่ดีสามารถทำให้ระบบอื่น ๆ มัลติทาสกิ้งแบบ Preemptiveใช้การควบคุมการตั้งเวลาที่เข้มงวดมากขึ้นให้ความสำคัญกับกระบวนการบางอย่างมากกว่ากระบวนการอื่น ๆ ภาพรวมนี้ถูกต้องหรือไม่ ถ้าไม่ใช่นั่นเพราะ WP ไม่ถูกต้องหรือเพราะฉันอ่านผิด WP? ทำไมบางแหล่งที่มาดูเหมือนจะทำให้เกิดการรวมหลายโปรแกรมและมัลติทาสกิ้ง?

4
การขัดจังหวะในบริบทของระบบปฏิบัติการหมายถึงอะไร
ฉันตัดสินใจที่จะอ่านแนวคิดระบบปฏิบัติการโดย Silberschatz, Galvin Gagne (รุ่นที่ 8) ในช่วงฤดูร้อน ฉันได้รับหัวข้อที่ทำให้ฉันสับสน - ขัดจังหวะและบทบาทของพวกเขาเนื่องจากเกี่ยวข้องกับระบบปฏิบัติการ ข้อความบอกว่าระบบปฏิบัติการจะเริ่มกระบวนการแรกเช่น "init" จากนั้นรอให้เกิดเหตุการณ์ "" และเหตุการณ์นี้มักจะมีสัญญาณจากการขัดจังหวะ ข้อความยังบอกด้วยว่าการขัดจังหวะอาจมาจากฮาร์ดแวร์หรือซอฟต์แวร์ มันทำงานอย่างไรในรายละเอียดเพิ่มเติมเล็กน้อย? ระบบปฏิบัติการขับเคลื่อนด้วยอินเตอร์รัปต์หรือไม่ ฉันแค่มองหาความเข้าใจภาพรวมขนาดใหญ่

2
Round-robin scheduling: อนุญาตให้แสดงรายการกระบวนการหลายครั้งหรือไม่
ในตัวจัดกำหนดการแบบ round-robin การเพิ่มกระบวนการหลายครั้งในรายการกระบวนการเป็นวิธีที่ประหยัดเพื่อให้ความสำคัญสูงกว่า ฉันสงสัยว่าวิธีนี้อาจเป็นไปได้ในทางปฏิบัติ มันมีประโยชน์อะไรที่มีมากกว่าเทคนิคอื่น ๆ เช่นการทำให้กระบวนการใช้เวลานานขึ้น (ประโยชน์: เวลาเปลี่ยนน้อยลง) หรือรักษารายการแยกต่างหากของกระบวนการที่มีลำดับความสำคัญสูง โดยเฉพาะอย่างยิ่งการแสดงรายการกระบวนการหลายครั้งมีผลต่อความยุติธรรมและปฏิกิริยาที่เกิดขึ้นอย่างไร (จากแบบฝึกหัด 2.16 ในระบบปฏิบัติการของ Andrew Tanenbaum : การออกแบบและการนำไปใช้งานครั้งที่ 1)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.