शिक्षक उत्तर कुंजी

शेड्यूलिंग, कोर और घटनाएँ

चार प्रकार के प्रमाण लें: संबंधित स्थिति का अनुमान; सीमाओं सहित अलग मामलों में व्यवहार; रिकॉर्ड और स्थिति से व्याख्या; तथा एक अंतर का तर्कपूर्ण सुधार। कागज़ या विद्यालय की स्वीकृत प्रक्रिया में हर पहलू को शुरुआती, सहायता से या स्वतंत्र रूप से दर्ज करें। चुनौती पास होना मशीन के व्यवहार का प्रमाण है, लेखन का या पूरी समझ का नहीं। समान रूप से सही प्रोग्राम स्वीकार करें; सार्वजनिक कुंजी एक उदाहरण है, एकमात्र उत्तर नहीं।

सार्वजनिक शिक्षण सामग्री। समाधान उदाहरण हैं; अन्य समान रूप से सही प्रोग्राम भी वास्तविक जाँच पास कर सकते हैं।

25. सहकारी शेड्यूलिंग

कार्य बारी-बारी चलाएँ और नीति को CPU निर्देशों से अलग समझें।

यह पाठ खोलें →

1. अनुमान और निष्पादन क्रम

प्रयोग प्रोग्राम चलाने से पहले आउटपुट अनुमान करें और पहले तीन चलाए निर्देशों का क्रम लिखें। आवश्यक रजिस्टर, फ्लैग या मेमोरी दर्ज करें। फिर एक-एक कदम चलाकर मिलाएँ।

LOAD 1
CALL taskA
CALL taskB
HALT
taskA: PRINT
SLEEP 500
RETURN
taskB: LOAD 101
PRINT
RETURN

इनपुट कतार में रखें: कोई नहीं

मेमोरी शुरू करें: शुरू में सभी बाइट शून्य

प्रयोग अनुमान कुंजी

आउटपुट: 1, 101

निर्देशपहले PCबाद में PCपहले R0बाद में R0संबंधित स्थितिआउटपुट
LOAD0101{"registers":[1,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]}कोई नहीं
CALL1411{"registers":[1,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":254,"stack":[],"callStack":[2],"loopStack":[],"memoryReads":[],"memoryWrites":[]}कोई नहीं
PRINT4511{"registers":[1,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":254,"stack":[],"callStack":[2],"loopStack":[],"memoryReads":[],"memoryWrites":[]}1

2. बनाएँ और जाँचें

0 से 3 तक चक्रों की संख्या पढ़ें। A का काउंटर 0 और B का 100 से शुरू करें। हर चक्र में A को बढ़ाने और छापने के लिए बुलाएँ, फिर B को।

ज़रूरी निर्देश प्रकार: INPUT, LOOP, CALL, RETURN

चुनौती समाधान उदाहरण

INPUT
COPY R0 R3
LOAD 0 R1
LOAD 100 R2
LOOP R3
CALL taskA
CALL taskB
RETURN
HALT
taskA: LOAD R1
ADD 1
COPY R0 R1
PRINT
SLEEP 0
RETURN
taskB: LOAD R2
ADD 1
COPY R0 R2
PRINT
SLEEP 0
RETURN

वास्तविक जाँच मामले

मामला 1
इनपुट
0
शुरुआती मेमोरी
शुरू में सभी बाइट शून्य
अपेक्षित आउटपुट
कोई नहीं
मामला 2
इनपुट
1
शुरुआती मेमोरी
शुरू में सभी बाइट शून्य
अपेक्षित आउटपुट
1, 101
मामला 3
इनपुट
3
शुरुआती मेमोरी
शुरू में सभी बाइट शून्य
अपेक्षित आउटपुट
1, 101, 2, 102, 3, 103

3. मशीन समझाएँ

CALL/RETURN की बारी हार्डवेयर प्रीएम्प्शन जैसी है?

तर्क और शिक्षण टिप्पणी

नहीं। यह सहकारी वितरक मॉडल है; शेड्यूलर नीति/अवधि स्पष्ट सिस्टम अनुकरण में है।