ಸಂದರ್ಭ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯ ಹ್ಯಾಂಡಲ್. ಪ್ರಕ್ರಿಯೆಯ ಪರಿಕಲ್ಪನೆ. ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಉಪವ್ಯವಸ್ಥೆ. ಪ್ರಕ್ರಿಯೆಯ ರಾಜ್ಯಗಳು. ಪ್ರಕ್ರಿಯೆ ಸಂದರ್ಭ ಮತ್ತು ವಿವರಣೆ ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣೆ ಉಪವ್ಯವಸ್ಥೆ

ಕಾರ್ಯ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯು ಕಂಪ್ಯೂಟರ್ ಮೂಲಕ ಅವರ ಅಂಗೀಕಾರವನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆಯ ಸ್ಥಿತಿಯನ್ನು ಅವಲಂಬಿಸಿ, ಇದು ಒಂದು ಅಥವಾ ಇನ್ನೊಂದು ಸಂಪನ್ಮೂಲವನ್ನು ನಿಯೋಜಿಸಬೇಕಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಒಂದು ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅದಕ್ಕೆ ವಿಳಾಸ ಜಾಗವನ್ನು ನಿಯೋಜಿಸುವ ಮೂಲಕ ಮೆಮೊರಿಯಲ್ಲಿ ಇರಿಸಬೇಕಾಗುತ್ತದೆ; ಪ್ರೊಸೆಸರ್ ಸಮಯಕ್ಕಾಗಿ ಸ್ಪರ್ಧಿಸುವ ಕಾರ್ಯಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಸೇರಿಸಿ.

ಮಲ್ಟಿಪ್ರೋಗ್ರಾಮ್ ಓಎಸ್‌ನ ಮುಖ್ಯ ಉಪವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಒಂದು ಕಂಪ್ಯೂಟರ್‌ನ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಮೇಲೆ ನೇರವಾಗಿ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ನಿರ್ವಹಣೆ ಉಪವ್ಯವಸ್ಥೆ. ಇದು ಅವುಗಳ ಸೃಷ್ಟಿ ಮತ್ತು ವಿನಾಶದೊಂದಿಗೆ ವ್ಯವಹರಿಸುತ್ತದೆ ಮತ್ತು ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಏಕಕಾಲದಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಥ್ರೆಡ್‌ಗಳ ನಡುವೆ ಪ್ರೊಸೆಸರ್ ಸಮಯವನ್ನು ಸಹ ವಿತರಿಸುತ್ತದೆ.

ಸಿಸ್ಟಂನಲ್ಲಿ ಬಹು ಕಾರ್ಯಗಳು ಏಕಕಾಲದಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವಾಗ, ಎಳೆಗಳನ್ನು ರಚಿಸಲಾಗಿದ್ದರೂ ಮತ್ತು ಅಸಮಕಾಲಿಕವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ, ಅವುಗಳು ಸಂವಹನ ಮಾಡಬೇಕಾಗಬಹುದು, ಉದಾಹರಣೆಗೆ, ಡೇಟಾವನ್ನು ವಿನಿಮಯ ಮಾಡುವಾಗ. ಆದ್ದರಿಂದ, ಥ್ರೆಡ್ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಉಪವ್ಯವಸ್ಥೆಯ ಪ್ರಮುಖ ಕಾರ್ಯಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ.

ಪ್ರಕ್ರಿಯೆಗಳ ನಡುವಿನ ಸಂವಹನವನ್ನು ಹಂಚಿದ ಅಸ್ಥಿರಗಳು ಮತ್ತು ವಿಶೇಷ ಮೂಲ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಬಳಸಿ ನಡೆಸಲಾಗುತ್ತದೆ ಆದಿಮಗಳು.

ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಉಪವ್ಯವಸ್ಥೆಯು ಪ್ರಕ್ರಿಯೆಗಳಲ್ಲಿ ಈ ಕೆಳಗಿನ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ:

- ಸೃಷ್ಟಿ (ಮೊಟ್ಟೆಯಿಡುವಿಕೆ) / ಪ್ರಕ್ರಿಯೆಯ ನಾಶ;

- ಪ್ರಕ್ರಿಯೆಯನ್ನು ವಿರಾಮ / ಪುನರಾರಂಭಿಸಿ;

- ಪ್ರಕ್ರಿಯೆಯನ್ನು ತಡೆಯುವುದು / ಎಚ್ಚರಗೊಳಿಸುವುದು;

- ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ;

- ಪ್ರಕ್ರಿಯೆಯ ಆದ್ಯತೆಯ ಬದಲಾವಣೆ;

ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಉಪವ್ಯವಸ್ಥೆಯು ಅಗತ್ಯ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಒದಗಿಸಲು ಕಾರಣವಾಗಿದೆ. OS ಮೆಮೊರಿಯಲ್ಲಿ ವಿಶೇಷ ಮಾಹಿತಿ ರಚನೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಇದರಲ್ಲಿ ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆಗೆ ಯಾವ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹಂಚಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಇದು ದಾಖಲಿಸುತ್ತದೆ. ಸಂಪನ್ಮೂಲವನ್ನು ಏಕೈಕ ಬಳಕೆಗಾಗಿ ಅಥವಾ ಇತರ ಪ್ರಕ್ರಿಯೆಗಳೊಂದಿಗೆ ಹಂಚಿಕೆಯ ಬಳಕೆಗಾಗಿ ಪ್ರಕ್ರಿಯೆಗೆ ನಿಯೋಜಿಸಬಹುದು. ಕೆಲವು ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಿದಾಗ ಪ್ರಕ್ರಿಯೆಗೆ ಹಂಚಲಾಗುತ್ತದೆ ಮತ್ತು ಕೆಲವು ರನ್‌ಟೈಮ್‌ನಲ್ಲಿ ವಿನಂತಿಗಳ ಆಧಾರದ ಮೇಲೆ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಹಂಚಲಾಗುತ್ತದೆ. ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೆ ಅದರ ಸಂಪೂರ್ಣ ಜೀವನಕ್ಕೆ ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಅವಧಿಗೆ ಮಾತ್ರ ನಿಯೋಜಿಸಬಹುದು. ಈ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ, ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣಾ ಉಪವ್ಯವಸ್ಥೆಯು ಸಂಪನ್ಮೂಲ ನಿರ್ವಹಣೆಗೆ ಜವಾಬ್ದಾರರಾಗಿರುವ ಇತರ OS ಉಪವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಮೆಮೊರಿ ನಿರ್ವಹಣೆ ಉಪವ್ಯವಸ್ಥೆ, ಇನ್ಪುಟ್/ಔಟ್ಪುಟ್ ಉಪವ್ಯವಸ್ಥೆ ಮತ್ತು ಫೈಲ್ ಸಿಸ್ಟಮ್.

1. ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಎಳೆಗಳನ್ನು ರಚಿಸುವುದು ಮತ್ತು ಅಳಿಸುವುದು

ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸುವುದು ಎಂದರೆ ಮೊದಲು ರಚಿಸುವುದು ಪ್ರಕ್ರಿಯೆ ಹ್ಯಾಂಡಲ್, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ಅಗತ್ಯವಿರುವ ಪ್ರಕ್ರಿಯೆಯ ಬಗ್ಗೆ ಎಲ್ಲಾ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿರುವ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ ರಚನೆಗಳು. ಈ ಸಮಸ್ಯೆಯನ್ನು ಮೊದಲೇ ವಿವರವಾಗಿ ಚರ್ಚಿಸಲಾಗಿದೆ, ಅಂತಹ ಮಾಹಿತಿಯು ಪ್ರಕ್ರಿಯೆ ಗುರುತಿಸುವಿಕೆ, ಮೆಮೊರಿಯಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಮಾಡ್ಯೂಲ್‌ನ ಸ್ಥಳದ ಡೇಟಾ, ಪ್ರಕ್ರಿಯೆಯ ಸವಲತ್ತಿನ ಮಟ್ಟ (ಆದ್ಯತೆ ಮತ್ತು ಪ್ರವೇಶ ಹಕ್ಕುಗಳು) ಅನ್ನು ಒಳಗೊಂಡಿರಬಹುದು ಎಂದು ನಾವು ಈಗ ನೆನಪಿಸಿಕೊಳ್ಳುತ್ತೇವೆ. ಇತ್ಯಾದಿ

ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸುವುದು ಪ್ರಕ್ರಿಯೆಯ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಪ್ರೋಗ್ರಾಂನ ಕೋಡ್‌ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಡಿಸ್ಕ್‌ನಿಂದ RAM ಗೆ ಲೋಡ್ ಮಾಡುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣಾ ಉಪವ್ಯವಸ್ಥೆಯು ಮೆಮೊರಿ ನಿರ್ವಹಣೆ ಉಪವ್ಯವಸ್ಥೆ ಮತ್ತು ಕಡತ ವ್ಯವಸ್ಥೆಯೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ. ಬಹು-ಥ್ರೆಡ್ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಿದಾಗ, OS ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆಗೆ ಕನಿಷ್ಠ ಒಂದು ಥ್ರೆಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ. ಥ್ರೆಡ್ ಅನ್ನು ರಚಿಸುವಾಗ, ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸುವಾಗ, ಓಎಸ್ ವಿಶೇಷ ಮಾಹಿತಿ ರಚನೆಯನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ - ಥ್ರೆಡ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್, ಇದು ಥ್ರೆಡ್ ಐಡೆಂಟಿಫಯರ್, ಪ್ರವೇಶ ಹಕ್ಕುಗಳು ಮತ್ತು ಆದ್ಯತೆಯ ಡೇಟಾ, ಥ್ರೆಡ್ ಸ್ಟೇಟ್ ಇತ್ಯಾದಿಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಒಮ್ಮೆ ರಚಿಸಿದ ನಂತರ, ಥ್ರೆಡ್ (ಅಥವಾ ಪ್ರಕ್ರಿಯೆ) ಮರಣದಂಡನೆಗೆ ಸನ್ನದ್ಧ ಸ್ಥಿತಿಯಲ್ಲಿದೆ (ಅಥವಾ ವಿಶೇಷ ಉದ್ದೇಶದ OS ನ ಸಂದರ್ಭದಲ್ಲಿ ನಿಷ್ಕ್ರಿಯ ಸ್ಥಿತಿಯಲ್ಲಿ).

ಬಳಕೆದಾರರು ಅಥವಾ ಇತರ ಕಾರ್ಯಗಳಿಂದ ಸೂಕ್ತವಾದ ವಿನಂತಿಗಳ ಆಧಾರದ ಮೇಲೆ ಕಾರ್ಯಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅಳಿಸಲಾಗುತ್ತದೆ. ಒಂದು ಕಾರ್ಯವು ಹೊಸ ಕಾರ್ಯವನ್ನು ಹುಟ್ಟುಹಾಕಬಹುದು - ಅನೇಕ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಕರೆಯಲ್ಪಡುವದನ್ನು ರಚಿಸಲು ವಿನಂತಿಯೊಂದಿಗೆ ಥ್ರೆಡ್ ಓಎಸ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು. ಮಕ್ಕಳ ಹೊಳೆಗಳು. ಉತ್ಪಾದಿಸುವ ಕಾರ್ಯವನ್ನು "ಪೂರ್ವಜ" ಅಥವಾ "ಪೋಷಕ" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು ಮಗುವಿನ ಕೆಲಸವನ್ನು "ವಂಶಸ್ಥರು" ಅಥವಾ "ಮಕ್ಕಳ ಕಾರ್ಯ" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. "ಪೂರ್ವಜ" ತನ್ನ ಮಗುವಿನ ಕಾರ್ಯವನ್ನು ಅಮಾನತುಗೊಳಿಸಬಹುದು ಅಥವಾ ಅಳಿಸಬಹುದು, ಆದರೆ "ಮಗು" "ಪೂರ್ವಜ" ವನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.

ವಿಭಿನ್ನ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂಗಳು ಮಗುವಿನ ಎಳೆಗಳು ಮತ್ತು ಅವರ ಪೋಷಕರ ನಡುವಿನ ಸಂಬಂಧವನ್ನು ವಿಭಿನ್ನವಾಗಿ ರಚಿಸುತ್ತವೆ. ಕೆಲವು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂಗಳಲ್ಲಿ, ಅವರ ಮರಣದಂಡನೆಯನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡಲಾಗಿದೆ (ಪೋಷಕ ಥ್ರೆಡ್ ಕೊನೆಗೊಂಡ ನಂತರ, ಅದರ ಎಲ್ಲಾ ಮಕ್ಕಳನ್ನು ಮರಣದಂಡನೆಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ), ಇತರರಲ್ಲಿ, ಪೋಷಕ ಥ್ರೆಡ್ಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಮಕ್ಕಳನ್ನು ಅಸಮಕಾಲಿಕವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಪ್ರಕ್ರಿಯೆಯು ಪೂರ್ಣಗೊಂಡ ನಂತರ, ಓಎಸ್ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಅದರ ಉಪಸ್ಥಿತಿಯ "ಕುರುಹುಗಳನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತದೆ" - ಪ್ರಕ್ರಿಯೆಯು ಕಾರ್ಯನಿರ್ವಹಿಸಿದ ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ಮುಚ್ಚುತ್ತದೆ, ಕೋಡ್ಗಳು, ಡೇಟಾ ಮತ್ತು ಸಿಸ್ಟಮ್ ಮಾಹಿತಿ ರಚನೆಗಳಿಗಾಗಿ ನಿಯೋಜಿಸಲಾದ RAM ನ ಪ್ರದೇಶಗಳನ್ನು ಮುಕ್ತಗೊಳಿಸುತ್ತದೆ. OS ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು ಸಂಪನ್ಮೂಲ ಪಟ್ಟಿಗಳನ್ನು ಕೊನೆಗೊಳಿಸಲಾದ ಪ್ರಕ್ರಿಯೆಯ ಉಲ್ಲೇಖಗಳನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ.

2. ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಎಳೆಗಳನ್ನು ನಿಗದಿಪಡಿಸುವುದು ಮತ್ತು ರವಾನಿಸುವುದು

ಗುರಿಯನ್ನು ಸಾಧಿಸಲು ಯಾವ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ ಎಂಬುದನ್ನು ಯೋಜನಾ ತಂತ್ರವು ನಿರ್ಧರಿಸುತ್ತದೆ. ತಂತ್ರಗಳು ವಿಭಿನ್ನವಾಗಿರಬಹುದು, ಉದಾಹರಣೆಗೆ:

- ಸಾಧ್ಯವಾದರೆ, ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಪ್ರಾರಂಭಿಸಿದ ಅದೇ ಕ್ರಮದಲ್ಲಿ ಮುಗಿಸಿ;

- ಕಡಿಮೆ ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಆದ್ಯತೆ ನೀಡಿ;

- ಎಲ್ಲಾ ಬಳಕೆದಾರರಿಗೆ (ಬಳಕೆದಾರರ ಕಾರ್ಯಗಳನ್ನು) ಒಂದೇ ರೀತಿಯ ಸೇವೆಗಳೊಂದಿಗೆ ಒದಗಿಸಿ, ಅದೇ ಕಾಯುವ ಸಮಯ ಸೇರಿದಂತೆ.

ಪ್ರಕ್ರಿಯೆಯ ಜೀವನದಲ್ಲಿ, ಅದರ ಎಳೆಗಳ ಮರಣದಂಡನೆಯು ಅಡ್ಡಿಪಡಿಸಬಹುದು ಮತ್ತು ಹಲವು ಬಾರಿ ಮುಂದುವರೆಯಬಹುದು.

ಒಂದು ಥ್ರೆಡ್ನ ಮರಣದಂಡನೆಯಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಪರಿವರ್ತನೆಯ ಪರಿಣಾಮವಾಗಿ ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ ಯೋಜನೆಮತ್ತು ರವಾನೆ.

ಯೋಜನೆಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಮಾಹಿತಿ ಮತ್ತು ಥ್ರೆಡ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ಥ್ರೆಡ್‌ಗಳನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ವೇಳಾಪಟ್ಟಿ ಮಾಡುವಾಗ, ಥ್ರೆಡ್‌ಗಳ ಆದ್ಯತೆ, ಅವರು ಸರದಿಯಲ್ಲಿ ಕಾಯುವ ಸಮಯ, ಸಂಚಿತ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯ, I/O ಪ್ರವೇಶದ ತೀವ್ರತೆ ಮತ್ತು ಇತರ ಅಂಶಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. OS ಒಂದೇ ಅಥವಾ ವಿಭಿನ್ನ ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಸೇರಿದೆಯೇ ಎಂಬುದನ್ನು ಲೆಕ್ಕಿಸದೆ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಥ್ರೆಡ್‌ಗಳನ್ನು ನಿಗದಿಪಡಿಸುತ್ತದೆ. ಯೋಜನೆಯು ಅಂತಹ ಪ್ರಕ್ರಿಯೆಗಳ ಗುಂಪನ್ನು ಆಯ್ಕೆಮಾಡುವ ಕಾರ್ಯವೆಂದು ಅರ್ಥೈಸಿಕೊಳ್ಳುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಅವರು ಮರಣದಂಡನೆಯ ಸಮಯದಲ್ಲಿ ಸಾಧ್ಯವಾದಷ್ಟು ಕಡಿಮೆ ಸಂಘರ್ಷಕ್ಕೆ ಒಳಗಾಗುತ್ತಾರೆ ಮತ್ತು ಕಂಪ್ಯೂಟಿಂಗ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸುತ್ತಾರೆ.

ವಿವಿಧ ಮಾಹಿತಿ ಮೂಲಗಳಲ್ಲಿ "ಯೋಜನೆ" ಮತ್ತು "ರವಾನೆ" ಎಂಬ ಪರಿಕಲ್ಪನೆಗಳ ವಿಭಿನ್ನ ವ್ಯಾಖ್ಯಾನಗಳಿವೆ. ಹೀಗಾಗಿ, ಕೆಲವು ಲೇಖಕರು ಯೋಜನೆಯನ್ನು ದೀರ್ಘಾವಧಿಯ (ಜಾಗತಿಕ) ಮತ್ತು ಅಲ್ಪಾವಧಿಯ (ಡೈನಾಮಿಕ್, ಅಂದರೆ ಪ್ರಸ್ತುತ ಅತ್ಯಂತ ಪರಿಣಾಮಕಾರಿ ವಿತರಣೆ) ಎಂದು ವಿಂಗಡಿಸುತ್ತಾರೆ ಮತ್ತು ಎರಡನೆಯದನ್ನು ರವಾನೆ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಇತರ ಮೂಲಗಳ ಪ್ರಕಾರ, ರವಾನೆಯನ್ನು ಯೋಜನಾ ಹಂತದಲ್ಲಿ ಮಾಡಿದ ನಿರ್ಧಾರದ ಅನುಷ್ಠಾನ ಎಂದು ಅರ್ಥೈಸಲಾಗುತ್ತದೆ. ನಾವು ಈ ಆಯ್ಕೆಯೊಂದಿಗೆ ಅಂಟಿಕೊಳ್ಳುತ್ತೇವೆ.

ಯೋಜನೆಎರಡು ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವುದನ್ನು ಒಳಗೊಂಡಿದೆ:

ಸಕ್ರಿಯ ಥ್ರೆಡ್ ಅನ್ನು ಬದಲಾಯಿಸುವ ಸಮಯದ ಕ್ಷಣವನ್ನು ನಿರ್ಧರಿಸುವುದು;

ಸಿದ್ಧ ಥ್ರೆಡ್‌ಗಳ ಸರದಿಯಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಥ್ರೆಡ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡುವುದು.

ಈ ಸಮಸ್ಯೆಗಳನ್ನು ವಿವಿಧ ರೀತಿಯಲ್ಲಿ ಪರಿಹರಿಸುವ ಅನೇಕ ವೇಳಾಪಟ್ಟಿ ಅಲ್ಗಾರಿದಮ್‌ಗಳಿವೆ. ಇದು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ನಿಶ್ಚಿತಗಳನ್ನು ನಿರ್ಧರಿಸುವ ಯೋಜನಾ ವೈಶಿಷ್ಟ್ಯಗಳು. ಅವುಗಳನ್ನು ಸ್ವಲ್ಪ ನಂತರ ನೋಡೋಣ.

ಹೆಚ್ಚಿನ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂಗಳಲ್ಲಿ, ವೇಳಾಪಟ್ಟಿಯನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ, ಅಂದರೆ ಪ್ರಸ್ತುತ ಪರಿಸ್ಥಿತಿಯ ವಿಶ್ಲೇಷಣೆಯ ಆಧಾರದ ಮೇಲೆ ಕೆಲಸದ ಸಮಯದಲ್ಲಿ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ. ಎಳೆಗಳು ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗಳು ಯಾದೃಚ್ಛಿಕ ಸಮಯದಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ ಮತ್ತು ಅನಿರೀಕ್ಷಿತವಾಗಿ ಕೊನೆಗೊಳ್ಳುತ್ತವೆ.

ಸ್ಥಿರಶೆಡ್ಯೂಲಿಂಗ್ ಪ್ರಕಾರವನ್ನು ವಿಶೇಷ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಬಳಸಬಹುದು, ಇದರಲ್ಲಿ ಏಕಕಾಲದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕಾರ್ಯಗಳ ಸಂಪೂರ್ಣ ಸೆಟ್ ಅನ್ನು ಮುಂಚಿತವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ (ನೈಜ-ಸಮಯದ ವ್ಯವಸ್ಥೆಗಳು). ಕಾರ್ಯಗಳ ಗುಂಪಿನ ಗುಣಲಕ್ಷಣಗಳ ಜ್ಞಾನದ ಆಧಾರದ ಮೇಲೆ ಶೆಡ್ಯೂಲರ್ ವೇಳಾಪಟ್ಟಿಯನ್ನು ರಚಿಸುತ್ತದೆ. ಈ ವೇಳಾಪಟ್ಟಿಯನ್ನು ನಂತರ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಯು ವೇಳಾಪಟ್ಟಿಗಾಗಿ ಬಳಸುತ್ತದೆ.

ರವಾನಿಸಲಾಗುತ್ತಿದೆಯೋಜನೆಯ ಪರಿಣಾಮವಾಗಿ ಕಂಡುಬರುವ ಪರಿಹಾರವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದರಲ್ಲಿ ಒಳಗೊಂಡಿದೆ, ಅಂದರೆ. ಒಂದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಇನ್ನೊಂದಕ್ಕೆ ಬದಲಾಯಿಸುವಲ್ಲಿ. ರವಾನೆಯು ಈ ಕೆಳಗಿನವುಗಳಿಗೆ ಬರುತ್ತದೆ:

ಬದಲಾಯಿಸಬೇಕಾದ ಪ್ರಸ್ತುತ ಥ್ರೆಡ್ನ ಸಂದರ್ಭವನ್ನು ಉಳಿಸುವುದು;

ಮರಣದಂಡನೆಗಾಗಿ ಹೊಸ ಥ್ರೆಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ.

ಥ್ರೆಡ್‌ನ ಸಂದರ್ಭವು ಮೊದಲನೆಯದಾಗಿ, ಅಡಚಣೆಯ ಸಮಯದಲ್ಲಿ ಕಂಪ್ಯೂಟರ್ ಯಂತ್ರಾಂಶದ ಸ್ಥಿತಿಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ (ಪ್ರೋಗ್ರಾಂ ಕೌಂಟರ್‌ನ ಮೌಲ್ಯ, ಸಾಮಾನ್ಯ-ಉದ್ದೇಶದ ರೆಜಿಸ್ಟರ್‌ಗಳ ವಿಷಯಗಳು, ಪ್ರೊಸೆಸರ್ ಆಪರೇಟಿಂಗ್ ಮೋಡ್, ಫ್ಲ್ಯಾಗ್‌ಗಳು, ಅಡಚಣೆ ಮುಖವಾಡಗಳು ಮತ್ತು ಇತರ ನಿಯತಾಂಕಗಳು ), ಮತ್ತು ಎರಡನೆಯದಾಗಿ, ಆಪರೇಟಿಂಗ್ ಪರಿಸರದ ನಿಯತಾಂಕಗಳು (ಫೈಲ್‌ಗಳನ್ನು ತೆರೆಯಲು ಲಿಂಕ್‌ಗಳು, ಅಪೂರ್ಣ I/O ಕಾರ್ಯಾಚರಣೆಗಳ ಡೇಟಾ, ಸಿಸ್ಟಮ್ ಕರೆಗಳ ನಿರ್ದಿಷ್ಟ ಥ್ರೆಡ್‌ನಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸಿದ ದೋಷ ಕೋಡ್‌ಗಳು, ಇತ್ಯಾದಿ.).

ಥ್ರೆಡ್‌ನ ಸಂದರ್ಭದಲ್ಲಿ, ನಿರ್ದಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಯ ಎಲ್ಲಾ ಥ್ರೆಡ್‌ಗಳಿಗೆ ಸಾಮಾನ್ಯವಾದ ಭಾಗವನ್ನು (ಫೈಲ್‌ಗಳನ್ನು ತೆರೆಯಲು ಲಿಂಕ್‌ಗಳು) ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಥ್ರೆಡ್‌ಗೆ ಮಾತ್ರ ಸಂಬಂಧಿಸಿದ ಭಾಗವನ್ನು ನಾವು ಪ್ರತ್ಯೇಕಿಸಬಹುದು (ರಿಜಿಸ್ಟರ್‌ಗಳ ವಿಷಯಗಳು, ಪ್ರೋಗ್ರಾಂ ಕೌಂಟರ್, ದಿ ಪ್ರೊಸೆಸರ್ ಮೋಡ್). ಉದಾಹರಣೆಗೆ, NetWare ಪರಿಸರದಲ್ಲಿ ಮೂರು ರೀತಿಯ ಸನ್ನಿವೇಶಗಳಿವೆ - ಜಾಗತಿಕ ಸಂದರ್ಭ (ಪ್ರಕ್ರಿಯೆಯ ಸಂದರ್ಭ), ಥ್ರೆಡ್ ಗುಂಪಿನ ಸಂದರ್ಭ ಮತ್ತು ವೈಯಕ್ತಿಕ ಥ್ರೆಡ್ ಸಂದರ್ಭ. ಈ ಸಂದರ್ಭಗಳ ಡೇಟಾದ ನಡುವಿನ ಸಂಬಂಧವು ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ ಜಾಗತಿಕ ಮತ್ತು ಸ್ಥಳೀಯ ಅಸ್ಥಿರಗಳ ನಡುವಿನ ಸಂಬಂಧವನ್ನು ಹೋಲುತ್ತದೆ. ಸನ್ನಿವೇಶಗಳ ಕ್ರಮಾನುಗತ ಸಂಘಟನೆಯು ಥ್ರೆಡ್ ಸ್ವಿಚಿಂಗ್ ಅನ್ನು ವೇಗಗೊಳಿಸುತ್ತದೆ: ಅದೇ ಪ್ರಕ್ರಿಯೆಯೊಳಗೆ ಒಂದು ಗುಂಪಿನ ಥ್ರೆಡ್‌ನಿಂದ ಮತ್ತೊಂದು ಗುಂಪಿನ ಥ್ರೆಡ್‌ಗೆ ಬದಲಾಯಿಸುವಾಗ, ಜಾಗತಿಕ ಸಂದರ್ಭವು ಬದಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ಗುಂಪಿನ ಸಂದರ್ಭ ಮಾತ್ರ ಬದಲಾಗುತ್ತದೆ. ಒಂದು ಪ್ರಕ್ರಿಯೆಯ ಥ್ರೆಡ್‌ನಿಂದ ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯ ಥ್ರೆಡ್‌ಗೆ ಚಲಿಸುವಾಗ ಮಾತ್ರ ಜಾಗತಿಕ ಸಂದರ್ಭ ಸ್ವಿಚಿಂಗ್ ಸಂಭವಿಸುತ್ತದೆ.

3. ಯೋಜನಾ ಕ್ರಮಾವಳಿಗಳು

ಮೊದಲ ಶೆಡ್ಯೂಲಿಂಗ್ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವ ದೃಷ್ಟಿಕೋನದಿಂದ (ಸಕ್ರಿಯ ಥ್ರೆಡ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಸಮಯದ ಕ್ಷಣವನ್ನು ಆಯ್ಕೆಮಾಡುವುದು), ಶೆಡ್ಯೂಲಿಂಗ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಎರಡು ದೊಡ್ಡ ವರ್ಗಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ - ಪೂರ್ವಭಾವಿ ಮತ್ತು ಪೂರ್ವಭಾವಿ ಅಲ್ಗಾರಿದಮ್‌ಗಳು:

ದಮನಕಾರಿಯಲ್ಲದ- ಸಿಸ್ಟಮ್‌ಗೆ ನಿಯಂತ್ರಣವನ್ನು ವರ್ಗಾಯಿಸುವವರೆಗೆ ಸಕ್ರಿಯ ಥ್ರೆಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಇದರಿಂದ ಅದು ಸರದಿಯಿಂದ ಮತ್ತೊಂದು ಸಿದ್ಧ ಥ್ರೆಡ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ;

ಸ್ಥಳಾಂತರಿಸುವುದು- ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ನಿರ್ವಹಿಸುವ ಕಾರ್ಯವನ್ನು ಬದಲಾಯಿಸಲು ನಿರ್ಧರಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಮತ್ತೊಂದು ಥ್ರೆಡ್ಗೆ ಬದಲಾಯಿಸುತ್ತದೆ.

ಈ ಶೆಡ್ಯೂಲಿಂಗ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳ ನಡುವಿನ ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಥ್ರೆಡ್ ಶೆಡ್ಯೂಲಿಂಗ್ ಯಾಂತ್ರಿಕತೆಯ ಕೇಂದ್ರೀಕರಣದ ಮಟ್ಟ. ಪ್ರತಿಯೊಂದು ವರ್ಗದ ಅಲ್ಗಾರಿದಮ್‌ಗಳ ಮುಖ್ಯ ಗುಣಲಕ್ಷಣಗಳು, ಅನುಕೂಲಗಳು ಮತ್ತು ಅನಾನುಕೂಲಗಳನ್ನು ಪರಿಗಣಿಸೋಣ.

ಪೂರ್ವಭಾವಿ ಅಲ್ಲದ ಕ್ರಮಾವಳಿಗಳು. ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಗ್ರಾಂ, OS ನಿಂದ ನಿಯಂತ್ರಣವನ್ನು ಪಡೆದ ನಂತರ, ಅದರ ಮರಣದಂಡನೆಯ ಮುಂದಿನ ಚಕ್ರವನ್ನು ಪೂರ್ಣಗೊಳಿಸುವ ಕ್ಷಣವನ್ನು ಅದು ಸ್ವತಃ ನಿರ್ಧರಿಸುತ್ತದೆ ಮತ್ತು ನಂತರ ಮಾತ್ರ ಕೆಲವು ಸಿಸ್ಟಮ್ ಕರೆಯನ್ನು ಬಳಸಿಕೊಂಡು OS ಗೆ ನಿಯಂತ್ರಣವನ್ನು ವರ್ಗಾಯಿಸುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ, ಅಪ್ಲಿಕೇಶನ್‌ನ ಬಳಕೆದಾರರ ನಿಯಂತ್ರಣವು ಅನಿಯಂತ್ರಿತ ಸಮಯದವರೆಗೆ ಕಳೆದುಹೋಗುತ್ತದೆ. ಡೆವಲಪರ್‌ಗಳು ಇದನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರಚಿಸಬೇಕು ಇದರಿಂದ ಅವರು "ಭಾಗಗಳಲ್ಲಿ" ಕೆಲಸ ಮಾಡುತ್ತಾರೆ, ನಿಯತಕಾಲಿಕವಾಗಿ ಅಡ್ಡಿಪಡಿಸುತ್ತಾರೆ ಮತ್ತು ಸಿಸ್ಟಮ್‌ಗೆ ನಿಯಂತ್ರಣವನ್ನು ವರ್ಗಾಯಿಸುತ್ತಾರೆ, ಅಂದರೆ. ಅಭಿವೃದ್ಧಿಯ ಸಮಯದಲ್ಲಿ, ಶೆಡ್ಯೂಲರ್‌ನ ಕಾರ್ಯಗಳನ್ನು ಸಹ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ.

ಅನುಕೂಲಗಳುಈ ವಿಧಾನ:

- ಅನನುಕೂಲವಾದ ಕ್ಷಣದಲ್ಲಿ ಹರಿವಿನ ಅಡಚಣೆಯನ್ನು ಹೊರತುಪಡಿಸಲಾಗಿದೆ;

- ಡೇಟಾದ ಏಕಕಾಲಿಕ ಬಳಕೆಯ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ, ಏಕೆಂದರೆ ಪ್ರತಿ ಮರಣದಂಡನೆಯ ಚಕ್ರದಲ್ಲಿ, ಕಾರ್ಯವು ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಬಳಸುತ್ತದೆ ಮತ್ತು ಬೇರೆ ಯಾರೂ ಅವುಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ಖಚಿತವಾಗಿದೆ;

- ಸ್ಟ್ರೀಮ್‌ನಿಂದ ಸ್ಟ್ರೀಮ್‌ಗೆ ಬದಲಾಯಿಸುವ ಹೆಚ್ಚಿನ ವೇಗ.

ಅನಾನುಕೂಲಗಳುಪ್ರೋಗ್ರಾಮರ್‌ನ ಅರ್ಹತೆಗಳಿಗೆ ಕಷ್ಟಕರವಾದ ಪ್ರೋಗ್ರಾಂ ಅಭಿವೃದ್ಧಿ ಮತ್ತು ಹೆಚ್ಚಿದ ಅವಶ್ಯಕತೆಗಳು, ಹಾಗೆಯೇ ಪ್ರಾಸೆಸರ್ ಅನ್ನು ಆಕಸ್ಮಿಕವಾಗಿ ಅಥವಾ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಲೂಪ್ ಮಾಡಿದರೆ ಒಂದು ಥ್ರೆಡ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ ಸಾಧ್ಯತೆಯಿದೆ.

ಪೂರ್ವಭಾವಿ ಕ್ರಮಾವಳಿಗಳು- ಆವರ್ತಕ ಅಥವಾ ವೃತ್ತಾಕಾರದ ವೇಳಾಪಟ್ಟಿ, ಇದರಲ್ಲಿ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಸ್ವತಃ ಸಕ್ರಿಯ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಡ್ಡಿಪಡಿಸಬೇಕೆ ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ ಮತ್ತು ಒಂದು ಅಥವಾ ಇನ್ನೊಂದು ಮಾನದಂಡಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಒಂದು ಕಾರ್ಯದಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಬದಲಾಯಿಸುತ್ತದೆ. ಅಂತಹ ಕ್ರಮಾವಳಿಗಳೊಂದಿಗೆ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, ಪ್ರೋಗ್ರಾಮರ್ ತನ್ನ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಇತರ ಕಾರ್ಯಗಳೊಂದಿಗೆ ಏಕಕಾಲದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಎಂಬ ಅಂಶದ ಬಗ್ಗೆ ಚಿಂತಿಸಬೇಕಾಗಿಲ್ಲ. ಉದಾಹರಣೆಗಳಲ್ಲಿ UNIX, ವಿಂಡೋಸ್ NT/2000, OS/2 ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳು ಸೇರಿವೆ. ಈ ವರ್ಗದ ಅಲ್ಗಾರಿದಮ್‌ಗಳು ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಉನ್ನತ-ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಮೇಲೆ ಕೇಂದ್ರೀಕೃತವಾಗಿವೆ.

ಪೂರ್ವಭಾವಿ ಕ್ರಮಾವಳಿಗಳು ಕ್ವಾಂಟೀಕರಣದ ಪರಿಕಲ್ಪನೆ ಅಥವಾ ಆದ್ಯತೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ಆಧರಿಸಿರಬಹುದು.

ಪ್ರಮಾಣೀಕರಣದ ಆಧಾರದ ಮೇಲೆ ಕ್ರಮಾವಳಿಗಳು. ಪ್ರತಿ ಥ್ರೆಡ್ಗೆ ಪ್ರೊಸೆಸರ್ ಸಮಯದ ಸೀಮಿತ ನಿರಂತರ ಸ್ಲೈಸ್ ನೀಡಲಾಗುತ್ತದೆ (ಅದರ ಮೌಲ್ಯವು 1 ms ಗಿಂತ ಕಡಿಮೆಯಿರಬಾರದು - ಸಾಮಾನ್ಯವಾಗಿ ಹಲವಾರು ಹತ್ತಾರು ms). ಕ್ವಾಂಟಮ್ ಖಾಲಿಯಾಗಿದ್ದರೆ ಒಂದು ಎಳೆಯನ್ನು ಚಾಲನೆಯಲ್ಲಿರುವ ಸ್ಥಿತಿಯಿಂದ ಸಿದ್ಧ ಸ್ಥಿತಿಗೆ ಸರಿಸಲಾಗುತ್ತದೆ. ಕ್ವಾಂಟಾ ಎಲ್ಲಾ ಹರಿವುಗಳಿಗೆ ಒಂದೇ ಆಗಿರಬಹುದು ಅಥವಾ ವಿಭಿನ್ನವಾಗಿರಬಹುದು.

ಥ್ರೆಡ್‌ಗೆ ಕ್ವಾಂಟಾವನ್ನು ನಿಯೋಜಿಸುವಾಗ, ವಿಭಿನ್ನ ತತ್ವಗಳನ್ನು ಬಳಸಬಹುದು: ಈ ಕ್ವಾಂಟಾಗಳು ಸ್ಥಿರ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿರಬಹುದು ಅಥವಾ ಥ್ರೆಡ್‌ನ ಜೀವನದ ವಿವಿಧ ಅವಧಿಗಳಲ್ಲಿ ಬದಲಾಗಬಹುದು. ಉದಾಹರಣೆಗೆ, ಕೆಲವು ನಿರ್ದಿಷ್ಟ ಹರಿವಿಗೆ, ಮೊದಲ ಕ್ವಾಂಟಮ್ ಸಾಕಷ್ಟು ದೊಡ್ಡದಾಗಿರಬಹುದು, ಮತ್ತು ಅದಕ್ಕೆ ನಿಯೋಜಿಸಲಾದ ಪ್ರತಿ ನಂತರದ ಕ್ವಾಂಟಮ್ ಕಡಿಮೆ ಅವಧಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ (ನಿರ್ದಿಷ್ಟ ಮಿತಿಗಳಿಗೆ ಕಡಿತ). ಇದು ಕಡಿಮೆ ಥ್ರೆಡ್‌ಗಳಿಗೆ ಪ್ರಯೋಜನವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ ಮತ್ತು ದೀರ್ಘಾವಧಿಯ ಕಾರ್ಯಗಳು ಹಿನ್ನೆಲೆಗೆ ಚಲಿಸುತ್ತವೆ. I/O ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಆಗಾಗ್ಗೆ ನಿರ್ವಹಿಸುವ ಪ್ರಕ್ರಿಯೆಗಳು ಅವುಗಳಿಗೆ ನಿಗದಿಪಡಿಸಿದ ಸಮಯದ ಸ್ಲೈಸ್‌ಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬಳಸಿಕೊಳ್ಳುವುದಿಲ್ಲ ಎಂಬ ಅಂಶವನ್ನು ಮತ್ತೊಂದು ತತ್ವವು ಆಧರಿಸಿದೆ. ಈ ಅನ್ಯಾಯವನ್ನು ಸರಿದೂಗಿಸಲು, ಅಂತಹ ಪ್ರಕ್ರಿಯೆಗಳಿಂದ ಪ್ರತ್ಯೇಕ ಕ್ಯೂ ಅನ್ನು ರಚಿಸಬಹುದು, ಇದು ಇತರ ಎಳೆಗಳ ಮೇಲೆ ಸವಲತ್ತುಗಳನ್ನು ಹೊಂದಿದೆ. ಮರಣದಂಡನೆಗಾಗಿ ಮುಂದಿನ ಥ್ರೆಡ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡುವಾಗ, ಈ ಕ್ಯೂ ಅನ್ನು ಮೊದಲು ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗುತ್ತದೆ, ಮತ್ತು ಅದು ಖಾಲಿಯಾಗಿದ್ದರೆ ಮಾತ್ರ, ಮರಣದಂಡನೆಗೆ ಸಿದ್ಧವಾಗಿರುವ ಸಾಮಾನ್ಯ ಸರದಿಯಿಂದ ಥ್ರೆಡ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ.

ಈ ಅಲ್ಗಾರಿದಮ್‌ಗಳು ಕಾರ್ಯಗಳ ಬಗ್ಗೆ ಯಾವುದೇ ಪೂರ್ವ ಮಾಹಿತಿಯನ್ನು ಬಳಸುವುದಿಲ್ಲ. ಸೇವೆಯಲ್ಲಿ ವ್ಯತ್ಯಾಸ ಈ ವಿಷಯದಲ್ಲಿವ್ಯವಸ್ಥೆಯಲ್ಲಿನ ಹರಿವಿನ "ಅಸ್ತಿತ್ವದ ಇತಿಹಾಸ" ವನ್ನು ಆಧರಿಸಿದೆ.

ಎರಡನೇ ಶೆಡ್ಯೂಲಿಂಗ್ ಸಮಸ್ಯೆಯ ದೃಷ್ಟಿಕೋನದಿಂದ (ಮುಂದಿನ ಥ್ರೆಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಆಯ್ಕೆ ಮಾಡುವ ತತ್ವ), ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನು ಷರತ್ತುಬದ್ಧವಾಗಿ ವರ್ಗಗಳಾಗಿ ವಿಂಗಡಿಸಬಹುದು: ಆದ್ಯತೆಯಿಲ್ಲದ ಮತ್ತು ಆದ್ಯತೆಯ ಕ್ರಮಾವಳಿಗಳು. ಆದ್ಯತೆಯಿಲ್ಲದ ನಿರ್ವಹಣೆಯೊಂದಿಗೆ, ಮುಂದಿನ ಕಾರ್ಯವನ್ನು ಅವರ ಸಾಪೇಕ್ಷ ಪ್ರಾಮುಖ್ಯತೆ ಮತ್ತು ನಿರ್ವಹಣೆ ಸಮಯವನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳದೆ ನಿರ್ದಿಷ್ಟ ಪೂರ್ವನಿರ್ಧರಿತ ಕ್ರಮದಲ್ಲಿ ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ. ಆದ್ಯತೆಯ ಶಿಸ್ತುಗಳನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸುವಾಗ, ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ಮರಣದಂಡನೆಯ ಸ್ಥಿತಿಯನ್ನು ಪ್ರವೇಶಿಸಲು ಆದ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ.

ಈಗ ಕೆಲವು ಸಾಮಾನ್ಯ ಯೋಜನಾ ವಿಭಾಗಗಳನ್ನು ನೋಡೋಣ.


ಮೊದಲು ಬಂದವರಿಗೆ ಮೊದಲ ಸೇವೆ. ಪ್ರೊಸೆಸರ್ ಅನ್ನು FIFO (ಫಸ್ಟ್ ಇನ್ ಫಸ್ಟ್ ಔಟ್) ತತ್ವವನ್ನು ಬಳಸಿಕೊಂಡು ಹಂಚಲಾಗುತ್ತದೆ, ಅಂದರೆ. ಸೇವೆಗಾಗಿ ವಿನಂತಿಗಳನ್ನು ಸ್ವೀಕರಿಸುವ ಕ್ರಮದಲ್ಲಿ. ಈ ವಿಧಾನವು "ಸಾಧ್ಯವಾದಾಗಲೆಲ್ಲಾ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಕ್ರಮದಲ್ಲಿ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಮುಗಿಸುವ" ತಂತ್ರವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಮರಣದಂಡನೆಯ ಸಮಯದಲ್ಲಿ ನಿರ್ಬಂಧಿಸಲಾದ ಆ ಕಾರ್ಯಗಳು, ಸಿದ್ಧ ಸ್ಥಿತಿಯನ್ನು ಪ್ರವೇಶಿಸಿದ ನಂತರ, ಇನ್ನೂ ಕಾರ್ಯಗತಗೊಳಿಸದ ಆ ಕಾರ್ಯಗಳ ಮುಂದೆ ಸರತಿಯಲ್ಲಿರುತ್ತವೆ. ಹೀಗಾಗಿ, ಎರಡು ಸರತಿ ಸಾಲುಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ: ಇನ್ನೂ ಕಾರ್ಯಗತಗೊಳಿಸದ ಕಾರ್ಯಗಳಲ್ಲಿ ಒಂದು, ಮತ್ತು ಬಾಕಿ ಇರುವ ಸ್ಥಿತಿಯಿಂದ ಪರಿವರ್ತನೆಯಾದ ಕಾರ್ಯಗಳಲ್ಲಿ ಇನ್ನೊಂದು.

ಕಾರ್ಯಗಳು ಸ್ವಯಂಪ್ರೇರಣೆಯಿಂದ ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದಾಗ ಈ ಶಿಸ್ತು ಪೂರ್ವಭಾವಿಯಾಗಿಲ್ಲ.

ಘನತೆಈ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸುಲಭವಾಗಿದೆ. ಅನನುಕೂಲತೆ- ಭಾರೀ ಹೊರೆಯ ಅಡಿಯಲ್ಲಿ, ಸಣ್ಣ ಕಾರ್ಯಗಳು ದೀರ್ಘಕಾಲದವರೆಗೆ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಕಾಯಲು ಒತ್ತಾಯಿಸಲಾಗುತ್ತದೆ. ಕೆಳಗಿನ ವಿಧಾನವು ಈ ನ್ಯೂನತೆಯನ್ನು ನಿವಾರಿಸುತ್ತದೆ.

ಕಡಿಮೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮೊದಲು ನೀಡಲಾಗುತ್ತದೆ.ಈ ಅಲ್ಗಾರಿದಮ್ ಪ್ರಕಾರ, ಅದರ ಕೆಲಸವನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಅಗತ್ಯವಿರುವ ಕನಿಷ್ಠ ಅಂದಾಜು ಸಮಯವನ್ನು ಹೊಂದಿರುವ ಥ್ರೆಡ್ ಅನ್ನು ಮರಣದಂಡನೆಯ ಪಕ್ಕದಲ್ಲಿ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ. ಇಲ್ಲಿ, ಪೂರ್ಣಗೊಳ್ಳುವ ಮೊದಲು ಸ್ವಲ್ಪ ಸಮಯ ಉಳಿದಿರುವ ಥ್ರೆಡ್‌ಗಳಿಗೆ ಆದ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ. ಇದು ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಬಾಕಿ ಉಳಿದಿರುವ ಕಾರ್ಯಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಅನನುಕೂಲತೆಮುಂಚಿತವಾಗಿ ಅಂದಾಜು ಸಮಯವನ್ನು ತಿಳಿದುಕೊಳ್ಳುವ ಅವಶ್ಯಕತೆಯಿದೆ, ಅದು ಯಾವಾಗಲೂ ಸಾಧ್ಯವಿಲ್ಲ. ಸ್ಥೂಲ ಅಂದಾಜಿನಂತೆ, ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಥ್ರೆಡ್ ಕೊನೆಯದಾಗಿ ನಿಯಂತ್ರಣವನ್ನು ಸ್ವೀಕರಿಸಿದ ಸಮಯವನ್ನು ನೀವು ಬಳಸಬಹುದು.

ಅಲ್ಗಾರಿದಮ್ ಪೂರ್ವಭಾವಿಯಲ್ಲದ, ಆದ್ಯತೆ-ಮುಕ್ತ ವರ್ಗಕ್ಕೆ ಸೇರಿದೆ.

ಸಿಸ್ಟಮ್ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತದೆ ಎಂದು ಬಳಕೆದಾರರು ನಿರೀಕ್ಷಿಸದಿದ್ದಾಗ, ಬ್ಯಾಚ್ ಆಪರೇಟಿಂಗ್ ಮೋಡ್‌ಗಳಿಗಾಗಿ ಹೆಸರಿಸಲಾದ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಬಳಸಬಹುದು. ಸಂವಾದಾತ್ಮಕ ಕಂಪ್ಯೂಟಿಂಗ್‌ಗಾಗಿ, ಬಹು-ಟರ್ಮಿನಲ್ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ಸ್ವೀಕಾರಾರ್ಹ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯ ಮತ್ತು ಸಮಾನ ಸೇವೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಮೊದಲನೆಯದಾಗಿ ಇದು ಅವಶ್ಯಕವಾಗಿದೆ. ಏಕ-ಬಳಕೆದಾರ ವ್ಯವಸ್ಥೆಗಳಿಗೆ, ನೇರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಪ್ರೋಗ್ರಾಂಗಳು ಹಿನ್ನೆಲೆ ಕೆಲಸಗಳಿಗಿಂತ ಉತ್ತಮ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯವನ್ನು ಹೊಂದಿರುವುದು ಅಪೇಕ್ಷಣೀಯವಾಗಿದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ನೇರ ಬಳಕೆದಾರ ಸಂವಹನವಿಲ್ಲದೆ ಚಾಲನೆಯಲ್ಲಿರುವಾಗ, ಪ್ರೊಸೆಸರ್ ಸಮಯದ ತಮ್ಮ ಪಾಲನ್ನು ಸ್ವೀಕರಿಸಲು ಇನ್ನೂ ಖಾತರಿ ನೀಡಬೇಕು (ಉದಾಹರಣೆಗೆ, ಇಮೇಲ್ ಪ್ರೋಗ್ರಾಂ). ಅಂತಹ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು, ಆದ್ಯತೆಯ ಸೇವಾ ವಿಧಾನಗಳು ಮತ್ತು ಪರಿಮಾಣೀಕರಣದ ಪರಿಕಲ್ಪನೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.


ಏರಿಳಿಕೆ ಶಿಸ್ತು, ಅಥವಾ ವೃತ್ತಾಕಾರದಆರ್.ಆರ್.(ರೌಂಡ್ ರಾಬಿನ್). ಈ ಶಿಸ್ತುಪೂರ್ವಭಾವಿ ಕ್ರಮಾವಳಿಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರಮಾಣೀಕರಣವನ್ನು ಆಧರಿಸಿದೆ. ಪ್ರತಿಯೊಂದು ಕಾರ್ಯವು ಭಾಗಗಳಲ್ಲಿ ಪ್ರೊಸೆಸರ್ ಸಮಯವನ್ನು ಪಡೆಯುತ್ತದೆ - ಕ್ವಾಂಟಾ. ಸಮಯದ ಕ್ವಾಂಟಮ್ ಅಂತ್ಯದ ನಂತರ, ಕಾರ್ಯವನ್ನು ಪ್ರೊಸೆಸರ್‌ನಿಂದ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಿದ್ಧವಾಗಿರುವ ಪ್ರಕ್ರಿಯೆಗಳ ಸರದಿಯ ಕೊನೆಯಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಮುಂದಿನ ಕಾರ್ಯವನ್ನು ಪ್ರೊಸೆಸರ್‌ನಿಂದ ಸೇವೆಗಾಗಿ ಸ್ವೀಕರಿಸಲಾಗುತ್ತದೆ. ಸಿಸ್ಟಮ್ನ ಅತ್ಯುತ್ತಮ ಕಾರ್ಯಾಚರಣೆಗಾಗಿ, ಕಾರ್ಯಗಳಿಗೆ ಸಮಯ ಸ್ಲೈಸ್ಗಳನ್ನು ನಿಗದಿಪಡಿಸುವ ಪ್ರಕಾರ ಕಾನೂನನ್ನು ಸರಿಯಾಗಿ ಆಯ್ಕೆಮಾಡುವುದು ಅವಶ್ಯಕ.

ಕ್ವಾಂಟಮ್ ಮೌಲ್ಯವನ್ನು ಬಳಕೆದಾರರ ವಿನಂತಿಗಳಿಗೆ ಸ್ವೀಕಾರಾರ್ಹ ಸಿಸ್ಟಮ್ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯ (ಅವರ ಸರಳವಾದ ವಿನಂತಿಗಳು ದೀರ್ಘ ಕಾಯುವಿಕೆಗೆ ಕಾರಣವಾಗುವುದಿಲ್ಲ) ಮತ್ತು ಆಗಾಗ್ಗೆ ಬದಲಾಗುವ ಕಾರ್ಯಗಳ ಓವರ್ಹೆಡ್ ವೆಚ್ಚಗಳ ನಡುವಿನ ರಾಜಿಯಾಗಿ ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ. ಅಡಚಣೆಯಾದಾಗ, OS ಪ್ರಸ್ತುತ ಪ್ರಕ್ರಿಯೆಯ ಬಗ್ಗೆ ಸಾಕಷ್ಟು ದೊಡ್ಡ ಪ್ರಮಾಣದ ಮಾಹಿತಿಯನ್ನು ಉಳಿಸಬೇಕು, ರದ್ದುಗೊಳಿಸಿದ ಕಾರ್ಯದ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ಸರದಿಯಲ್ಲಿ ಇರಿಸಿ ಮತ್ತು ಹೊಸ ಕಾರ್ಯದ ಸಂದರ್ಭವನ್ನು ಲೋಡ್ ಮಾಡಬೇಕು. ಸಣ್ಣ ಸಮಯದ ಸ್ಲೈಸ್ ಮತ್ತು ಆಗಾಗ್ಗೆ ಸ್ವಿಚ್‌ಗಳೊಂದಿಗೆ, ಅಂತಹ ಓವರ್‌ಹೆಡ್‌ನ ಸಾಪೇಕ್ಷ ಪಾಲು ದೊಡ್ಡದಾಗುತ್ತದೆ ಮತ್ತು ಇದು ಒಟ್ಟಾರೆಯಾಗಿ ಸಿಸ್ಟಮ್‌ನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕುಗ್ಗಿಸುತ್ತದೆ. ಸಮಯದ ಸ್ಲೈಸ್ ದೊಡ್ಡದಾಗಿದ್ದರೆ ಮತ್ತು ಸಿದ್ಧ ಕಾರ್ಯಗಳ ಕ್ಯೂ ಹೆಚ್ಚಾದರೆ, ಸಿಸ್ಟಮ್ ಪ್ರತಿಕ್ರಿಯೆಯು ಕಳಪೆಯಾಗುತ್ತದೆ.

ಕೆಲವು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ, ಟೈಮ್ ಸ್ಲೈಸ್‌ನ ಮೌಲ್ಯವನ್ನು ಅಥವಾ ಅದರ ಮೌಲ್ಯಗಳ ಅನುಮತಿಸುವ ಶ್ರೇಣಿಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸಲು ಸಾಧ್ಯವಿದೆ. ಉದಾಹರಣೆಗೆ, OS/2 ನಲ್ಲಿ, CONFIG.SYS ಫೈಲ್ ಟೈಮ್ ಸ್ಲೈಸ್‌ಗಾಗಿ ಕನಿಷ್ಠ ಮತ್ತು ಗರಿಷ್ಠ ಮೌಲ್ಯಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು TIMESLICE ಆಪರೇಟರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ: TIMESLICE=32.256 ಸಮಯದ ಸ್ಲೈಸ್ ಅನ್ನು 32 ರಿಂದ 256 ಮಿಲಿಸೆಕೆಂಡ್‌ಗಳಿಗೆ ಬದಲಾಯಿಸಬಹುದು ಎಂದು ಸೂಚಿಸುತ್ತದೆ.

ಈ ಸೇವಾ ಶಿಸ್ತು ಅತ್ಯಂತ ಸಾಮಾನ್ಯವಾಗಿದೆ. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ರೌಂಡ್-ರಾಬಿನ್ ಶೆಡ್ಯೂಲಿಂಗ್ ಶಿಸ್ತನ್ನು ಓಎಸ್ ಸ್ಪಷ್ಟವಾಗಿ ಬೆಂಬಲಿಸದಿದ್ದಾಗ, ಅಂತಹ ನಿರ್ವಹಣೆಯನ್ನು ಕೃತಕವಾಗಿ ಆಯೋಜಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಕೆಲವು RTOS ಸಂಪೂರ್ಣ ಆದ್ಯತೆಗಳೊಂದಿಗೆ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಆದ್ಯತೆಗಳು ಸಮಾನವಾದಾಗ, ಸರತಿ ತತ್ವವು ಅನ್ವಯಿಸುತ್ತದೆ. ಅಂದರೆ, ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯೊಂದಿಗಿನ ಕಾರ್ಯವು ಮಾತ್ರ ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯಿಂದ ತೆಗೆದುಹಾಕಬಹುದು. ಅಗತ್ಯವಿದ್ದರೆ, ಸೇವೆಯನ್ನು ಸಮವಾಗಿ ಮತ್ತು ಸಮಾನವಾಗಿ ಆಯೋಜಿಸಿ, ಅಂದರೆ. ಎಲ್ಲಾ ಉದ್ಯೋಗಗಳು ಒಂದೇ ಸಮಯದ ಸ್ಲೈಸ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ಸಿಸ್ಟಮ್ ಆಪರೇಟರ್ ಅಂತಹ ಸೇವೆಯನ್ನು ಸ್ವತಃ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು. ಇದನ್ನು ಮಾಡಲು, ಎಲ್ಲಾ ಬಳಕೆದಾರ ಕಾರ್ಯಗಳಿಗೆ ಒಂದೇ ರೀತಿಯ ಆದ್ಯತೆಗಳನ್ನು ನಿಯೋಜಿಸಲು ಮತ್ತು ಒಂದು ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯ ಕಾರ್ಯವನ್ನು ರಚಿಸಲು ಸಾಕು, ಇದು ನಿರ್ದಿಷ್ಟ ಸಮಯದ ಮಧ್ಯಂತರದಲ್ಲಿ ಟೈಮರ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಿಗದಿಪಡಿಸುವುದನ್ನು ಹೊರತುಪಡಿಸಿ ಬೇರೆ ಏನನ್ನೂ ಮಾಡಬಾರದು. ಈ ಕಾರ್ಯವು ಪ್ರಸ್ತುತ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮರಣದಂಡನೆಯಿಂದ ಮಾತ್ರ ತೆಗೆದುಹಾಕುತ್ತದೆ, ಅದು ಸರದಿಯ ಅಂತ್ಯಕ್ಕೆ ಚಲಿಸುತ್ತದೆ, ಮತ್ತು ಕಾರ್ಯವು ತಕ್ಷಣವೇ ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಬಿಟ್ಟು ಮುಂದಿನ ಪ್ರಕ್ರಿಯೆಗೆ ಸರದಿಯಲ್ಲಿ ನೀಡುತ್ತದೆ.

ಅದರ ಸರಳವಾದ ಅನುಷ್ಠಾನದಲ್ಲಿ, ಏರಿಳಿಕೆ ಸೇವೆಯ ಶಿಸ್ತು ಎಲ್ಲಾ ಉದ್ಯೋಗಗಳು ಒಂದೇ ಆದ್ಯತೆಯನ್ನು ಹೊಂದಿದೆ ಎಂದು ಊಹಿಸುತ್ತದೆ. ಆದ್ಯತೆಯ ಸೇವಾ ಕಾರ್ಯವಿಧಾನವನ್ನು ಪರಿಚಯಿಸಲು ಅಗತ್ಯವಿದ್ದರೆ, ಆದ್ಯತೆಗಳನ್ನು ಅವಲಂಬಿಸಿ ಹಲವಾರು ಸರತಿ ಸಾಲುಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಆಯೋಜಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯ ಸರತಿಯು ಖಾಲಿಯಾಗಿರುವಾಗ ಮಾತ್ರ ಕಡಿಮೆ ಆದ್ಯತೆಯ ಸರದಿಯ ಸೇವೆಯನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ. ಈ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು OS/2 ಮತ್ತು Windows NT ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ನಿಗದಿಪಡಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.

ಆದ್ಯತೆಗಳ ಪ್ರಕಾರ ಯೋಜನೆ.

ಅನೇಕ ಪೂರ್ವಭಾವಿ ಅಲ್ಗಾರಿದಮ್‌ಗಳಿಗೆ ಆಧಾರವಾಗಿರುವ ಒಂದು ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಯು ಪೂರ್ವಭಾವಿ ಸೇವೆಯಾಗಿದೆ. ಅಂತಹ ಕ್ರಮಾವಳಿಗಳು ಫ್ಲೋ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ನಲ್ಲಿ ಕಂಡುಬರುವ ಮಾಹಿತಿಯನ್ನು ಬಳಸುತ್ತವೆ - ಅದರ ಆದ್ಯತೆ. ವಿಭಿನ್ನ ವ್ಯವಸ್ಥೆಗಳು ಆದ್ಯತೆಯನ್ನು ವಿಭಿನ್ನವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸುತ್ತವೆ. ಕೆಲವು ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯ ಮೌಲ್ಯವನ್ನು ಸಂಖ್ಯಾತ್ಮಕವಾಗಿ ಪರಿಗಣಿಸಬಹುದು ಅತ್ಯಧಿಕ ಮೌಲ್ಯ, ಇತರರಲ್ಲಿ, ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯನ್ನು ಶೂನ್ಯವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.

ವಿಶಿಷ್ಟವಾಗಿ, ಥ್ರೆಡ್‌ನ ಆದ್ಯತೆಯು ಥ್ರೆಡ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಯ ಆದ್ಯತೆಗೆ ನೇರವಾಗಿ ಸಂಬಂಧಿಸಿದೆ. ಪ್ರಕ್ರಿಯೆಯ ಆದ್ಯತೆಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂ ಅನ್ನು ರಚಿಸಿದಾಗ ನಿಯೋಜಿಸಲಾಗಿದೆ, ಪ್ರಕ್ರಿಯೆಯು ಒಂದು ಸಿಸ್ಟಮ್ ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದೆಯೇ, ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿದ ಬಳಕೆದಾರರ ಸ್ಥಿತಿ ಏನು ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಆದ್ಯತೆಯನ್ನು ನಿಯೋಜಿಸಲು ಸ್ಪಷ್ಟವಾದ ಬಳಕೆದಾರ ಸೂಚನೆ ಇದೆಯೇ ಎಂಬುದನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು ಪ್ರಕ್ರಿಯೆಗೆ. ಆದ್ಯತೆಯ ಮೌಲ್ಯವನ್ನು ಪ್ರಕ್ರಿಯೆಯ ಹ್ಯಾಂಡಲ್‌ನಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಅದರ ಥ್ರೆಡ್‌ಗಳಿಗೆ ಆದ್ಯತೆಯನ್ನು ನಿಯೋಜಿಸುವಾಗ ಬಳಸಲಾಗುತ್ತದೆ. ಬಳಕೆದಾರರ ಆಜ್ಞೆಯಿಂದ ಥ್ರೆಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸದಿದ್ದರೆ, ಆದರೆ ಮತ್ತೊಂದು ಥ್ರೆಡ್ ಸಿಸ್ಟಮ್ ಕರೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಪರಿಣಾಮವಾಗಿ, ಅದಕ್ಕೆ ಆದ್ಯತೆಯನ್ನು ನಿಯೋಜಿಸಲು OS ಸಿಸ್ಟಮ್ ಕರೆಯ ನಿಯತಾಂಕಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕು.

ಹಿಂದೆ ವಿವರಿಸಿದ ಅಲ್ಗಾರಿದಮ್‌ಗಳ ಪ್ರಕಾರ ಪ್ರೋಗ್ರಾಂ ನಿರ್ವಹಣೆಯನ್ನು ಯೋಜಿಸುವಾಗ, ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ (ವಿಶೇಷವಾಗಿ ಆರ್‌ಟಿಒಎಸ್‌ನಲ್ಲಿ) ಹೆಚ್ಚುತ್ತಿರುವ ಲೋಡ್‌ನಿಂದಾಗಿ ಕೆಲವು ನಿಯಂತ್ರಣ ಅಥವಾ ನಿರ್ವಹಣಾ ಕಾರ್ಯಗಳನ್ನು ದೀರ್ಘಕಾಲದವರೆಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದಾಗ ಪರಿಸ್ಥಿತಿ ಉದ್ಭವಿಸಬಹುದು. ಇದಲ್ಲದೆ, ಅಂತಹ ಕಾರ್ಯಗಳನ್ನು ಅಕಾಲಿಕವಾಗಿ ಪೂರ್ಣಗೊಳಿಸುವುದರಿಂದ ಉಂಟಾಗುವ ಪರಿಣಾಮಗಳು ಕೆಲವು ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯೊಂದಿಗೆ ಪೂರ್ಣಗೊಳಿಸಲು ವಿಫಲವಾದರೆ ಹೆಚ್ಚು ಗಂಭೀರವಾಗಬಹುದು. ಈ ಸಂದರ್ಭದಲ್ಲಿ, "ತುರ್ತು" ಕಾರ್ಯಗಳ ಆದ್ಯತೆಯನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಬದಲಾಯಿಸಲು ಸಲಹೆ ನೀಡಲಾಗುತ್ತದೆ (ಅವರ ಸಂಸ್ಕರಣೆಯ ಸಮಯ ಮುಗಿದಿದೆ), ಮತ್ತು ಮರಣದಂಡನೆಯ ನಂತರ, ಹಿಂದಿನ ಮೌಲ್ಯವನ್ನು ಮರುಸ್ಥಾಪಿಸಿ. ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಬದಲಾಗುವ ಆದ್ಯತೆಗಳಿಗಾಗಿ ಕಾರ್ಯವಿಧಾನಗಳ ಪರಿಚಯವು ಸಣ್ಣ ಬಳಕೆದಾರರ ವಿನಂತಿಗಳಿಗೆ ವೇಗವಾದ ಸಿಸ್ಟಮ್ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ (ಇದು ಸಂವಾದಾತ್ಮಕ ಕೆಲಸದ ಸಮಯದಲ್ಲಿ ಮುಖ್ಯವಾಗಿದೆ), ಆದರೆ ಅದೇ ಸಮಯದಲ್ಲಿ ಯಾವುದೇ ವಿನಂತಿಗಳ ನೆರವೇರಿಕೆಯನ್ನು ಖಾತರಿಪಡಿಸುತ್ತದೆ.

ಆದ್ದರಿಂದ ಆದ್ಯತೆ ಆಗಿರಬಹುದು ಸ್ಥಿರ(ಸ್ಥಿರ) ಅಥವಾ ಕ್ರಿಯಾತ್ಮಕ(ಅದರಲ್ಲಿರುವ ಪರಿಸ್ಥಿತಿಯನ್ನು ಅವಲಂಬಿಸಿ ವ್ಯವಸ್ಥೆಯನ್ನು ಬದಲಾಯಿಸುವುದು). ಎಂದು ಕರೆಯುತ್ತಾರೆ ಬೇಸ್ ಥ್ರೆಡ್ ಆದ್ಯತೆನೇರವಾಗಿ ಅದನ್ನು ರಚಿಸಿದ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಭೂತ ಆದ್ಯತೆಯ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ಸಿಸ್ಟಮ್ ಥ್ರೆಡ್‌ನ ಆದ್ಯತೆಯನ್ನು ಹೆಚ್ಚಿಸಬಹುದು (ಮತ್ತು ವಿವಿಧ ಹಂತಗಳಿಗೆ), ಉದಾಹರಣೆಗೆ, ಅದಕ್ಕೆ ನಿಯೋಜಿಸಲಾದ ಪ್ರೊಸೆಸರ್ ಸಮಯದ ಸ್ಲೈಸ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬಳಸದಿದ್ದರೆ ಅಥವಾ ಆದ್ಯತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ಕೀಬೋರ್ಡ್ ಇನ್‌ಪುಟ್‌ಗಾಗಿ ಕಾಯುತ್ತಿರುವ ಥ್ರೆಡ್‌ಗಳಿಗೆ ಮತ್ತು ಡಿಸ್ಕ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಥ್ರೆಡ್‌ಗಳಿಗೆ ಕಡಿಮೆ ಆದ್ಯತೆಯನ್ನು ಓಎಸ್ ನೀಡುತ್ತದೆ. ಕ್ರಿಯಾತ್ಮಕ ಆದ್ಯತೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ಬಳಸುವ ಕೆಲವು ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಆದ್ಯತೆಯನ್ನು ಬದಲಾಯಿಸಲು ಸಂಕೀರ್ಣವಾದ ಸೂತ್ರಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ಮೂಲಭೂತ ಆದ್ಯತೆಗಳ ಮೌಲ್ಯಗಳು, ಕಂಪ್ಯೂಟರ್ ಸಿಸ್ಟಮ್ನ ಲೋಡ್ನ ಮಟ್ಟ, ಬಳಕೆದಾರನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಆರಂಭಿಕ ಆದ್ಯತೆಯ ಮೌಲ್ಯ ಇತ್ಯಾದಿಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. .

ಎರಡು ರೀತಿಯ ಆದ್ಯತೆಯ ವೇಳಾಪಟ್ಟಿಗಳಿವೆ: ನಿರ್ವಹಣೆ ಸಾಪೇಕ್ಷ ಆದ್ಯತೆಗಳೊಂದಿಗೆಮತ್ತು ಸೇವೆ ಸಂಪೂರ್ಣ ಆದ್ಯತೆಗಳೊಂದಿಗೆ. ಎರಡೂ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಮರಣದಂಡನೆಗಾಗಿ ಥ್ರೆಡ್ನ ಆಯ್ಕೆಯನ್ನು ಅದೇ ರೀತಿಯಲ್ಲಿ ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ - ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯೊಂದಿಗೆ ಥ್ರೆಡ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಸಕ್ರಿಯ ಥ್ರೆಡ್ ಅನ್ನು ಬದಲಾಯಿಸುವ ಕ್ಷಣವನ್ನು ವಿಭಿನ್ನವಾಗಿ ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ. ಸಾಪೇಕ್ಷ ಆದ್ಯತೆಯ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, ಸಕ್ರಿಯ ಥ್ರೆಡ್ ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಬಿಡುವವರೆಗೆ ಚಲಿಸುತ್ತದೆ (ಒಂದೋ ಕಾಯುತ್ತದೆ, ದೋಷ ಸಂಭವಿಸುತ್ತದೆ, ಅಥವಾ ಥ್ರೆಡ್ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ). ಸಂಪೂರ್ಣ ಆದ್ಯತೆಗಳನ್ನು ಹೊಂದಿರುವ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, ಸಕ್ರಿಯ ಥ್ರೆಡ್‌ನ ಅಡಚಣೆ, ಸೂಚಿಸಲಾದ ಕಾರಣಗಳ ಜೊತೆಗೆ, ಸಿದ್ಧ ಥ್ರೆಡ್‌ಗಳ ಸರದಿಯಲ್ಲಿ ಸಕ್ರಿಯಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯೊಂದಿಗೆ ಥ್ರೆಡ್ ಕಾಣಿಸಿಕೊಂಡರೆ ಸಹ ಸಂಭವಿಸುತ್ತದೆ. ನಂತರ ಚಾಲನೆಯಲ್ಲಿರುವ ಥ್ರೆಡ್ ಅನ್ನು ಅಡ್ಡಿಪಡಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಸಿದ್ಧ ಸ್ಥಿತಿಗೆ ಹಾಕಲಾಗುತ್ತದೆ.

ಸಾಪೇಕ್ಷ ಆದ್ಯತೆಯ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಹೊಂದಿರುವ ವ್ಯವಸ್ಥೆಯು ಸ್ವಿಚಿಂಗ್ ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಆದರೆ ಒಂದೇ ಕಾರ್ಯವು ದೀರ್ಘಕಾಲದವರೆಗೆ ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಆಕ್ರಮಿಸುತ್ತದೆ. ಈ ಸೇವಾ ಮೋಡ್ ಸಮಯ-ಹಂಚಿಕೆ ಮತ್ತು ನೈಜ-ಸಮಯದ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಸೂಕ್ತವಲ್ಲ, ಆದರೆ ಬ್ಯಾಚ್ ಸಂಸ್ಕರಣಾ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ (ಉದಾಹರಣೆಗೆ, OS/360) ಇದನ್ನು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಈವೆಂಟ್‌ಗಳಿಗೆ ಕ್ಷಿಪ್ರ ಪ್ರತಿಕ್ರಿಯೆ ಮುಖ್ಯವಾಗಿರುವ ಸೌಲಭ್ಯ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಸಂಪೂರ್ಣ ಆದ್ಯತೆಯ ವೇಳಾಪಟ್ಟಿ ಸೂಕ್ತವಾಗಿದೆ.

ಮಿಶ್ರ ಯೋಜನೆ ಪ್ರಕಾರಅನೇಕ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ: ಆದ್ಯತೆ-ಆಧಾರಿತ ಶೆಡ್ಯೂಲಿಂಗ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಪರಿಮಾಣೀಕರಣದ ಪರಿಕಲ್ಪನೆಯೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾಗಿದೆ.

ತರಬೇತಿ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಮಾಡ್ಯೂಲ್ನ ಅಭಿವೃದ್ಧಿ

ಮಾರ್ಗಸೂಚಿಗಳು

ವಿಭಾಗದಲ್ಲಿ ಕೋರ್ಸ್ ವಿನ್ಯಾಸಕ್ಕಾಗಿ

"ಓಎಸ್"

ಪೂರ್ಣ ಸಮಯದ ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ

ನಿರ್ದೇಶನಗಳು

ಪರಿಚಯ 4

1. ಸೈದ್ಧಾಂತಿಕ ವಿಭಾಗ. 4

1.1. ಪ್ರಕ್ರಿಯೆ ನಿಯಂತ್ರಣ ಉಪವ್ಯವಸ್ಥೆ. 4

1.1.1. ಸಂದರ್ಭ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯ ಹ್ಯಾಂಡಲ್. 5

1.1.2. ಪ್ರಕ್ರಿಯೆ ಯೋಜನೆ ಅಲ್ಗಾರಿದಮ್‌ಗಳು. 6

1.1.3. ಪೂರ್ವಭಾವಿ ಮತ್ತು ಪೂರ್ವಭಾವಿ ಅಲ್ಲದ ವೇಳಾಪಟ್ಟಿ ಅಲ್ಗಾರಿದಮ್‌ಗಳು. 9

1.1.4. ಶೈಕ್ಷಣಿಕ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ನ ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣಾ ಉಪವ್ಯವಸ್ಥೆಯ ಪ್ರಕ್ರಿಯೆ ಮಾದರಿ ಮತ್ತು ಕಾರ್ಯಗಳು 12

1.2. ಮೆಮೊರಿ ನಿರ್ವಹಣೆ ಉಪವ್ಯವಸ್ಥೆ.. 17

1.2.1. ಪುಟ ವಿತರಣೆ. 18

1.2.2. ವಿಭಾಗದ ವಿತರಣೆ. 22

1.2.3. ಪುಟ-ವಿಭಾಗ ವಿತರಣೆ. 23

1.2.4. ಪುಟ ಬದಲಿ ಅಲ್ಗಾರಿದಮ್‌ಗಳು. 24

1.3. ಫೈಲ್ ನಿರ್ವಹಣೆ. ಮೂವತ್ತು

1.3.1. ಫೈಲ್ ಹೆಸರುಗಳು. ಮೂವತ್ತು

1.3.2. ಫೈಲ್ ಪ್ರಕಾರಗಳು. 32

1.3.3. ಭೌತಿಕ ಸಂಘಟನೆ ಮತ್ತು ಫೈಲ್ ವಿಳಾಸ. 33

2. ಕೋರ್ಸ್ ಯೋಜನೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುವ ವಿಧಾನ. 38

3. ಕಾರ್ಯಗಳಿಗಾಗಿ ಆಯ್ಕೆಗಳು. 39

ಗ್ರಂಥಸೂಚಿ 42

ಅನುಬಂಧ A... 43

ಪರಿಚಯ

ಕೋರ್ಸ್ ಯೋಜನೆಯ ಉದ್ದೇಶ: ಅಧ್ಯಯನ ಮಾಡಲು ಸೈದ್ಧಾಂತಿಕ ಆಧಾರಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ನಿರ್ಮಿಸುವುದು. ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ಭಾಗವಾಗಿರುವ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಲ್ಲಿ ಪ್ರಾಯೋಗಿಕ ಕೌಶಲ್ಯಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳಿ.

ಸೈದ್ಧಾಂತಿಕ ವಿಭಾಗ

ಅದ್ವಿತೀಯ ಕಂಪ್ಯೂಟರ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ಕಾರ್ಯಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ OS ನಿರ್ವಹಿಸುವ ಸ್ಥಳೀಯ ಸಂಪನ್ಮೂಲಗಳ ಪ್ರಕಾರ ಅಥವಾ ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಅನ್ವಯಿಸುವ ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಗಳ ಪ್ರಕಾರ ವರ್ಗೀಕರಿಸಲಾಗುತ್ತದೆ. ಕೆಲವೊಮ್ಮೆ ಇಂತಹ ಕಾರ್ಯಗಳ ಗುಂಪುಗಳನ್ನು ಉಪವ್ಯವಸ್ಥೆಗಳು ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಪ್ರಮುಖ ಉಪವ್ಯವಸ್ಥೆಗಳೆಂದರೆ ಪ್ರಕ್ರಿಯೆ, ಮೆಮೊರಿ, ಫೈಲ್ ಮತ್ತು ಬಾಹ್ಯ ಸಾಧನ ನಿರ್ವಹಣಾ ಉಪವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಸಾಮಾನ್ಯವಾದ ಉಪವ್ಯವಸ್ಥೆಗಳೆಂದರೆ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್, ಡೇಟಾ ರಕ್ಷಣೆ ಮತ್ತು ಆಡಳಿತ ಉಪವ್ಯವಸ್ಥೆಗಳು.

ಪ್ರಕ್ರಿಯೆ ನಿಯಂತ್ರಣ ಉಪವ್ಯವಸ್ಥೆ

ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ಪ್ರಮುಖ ಭಾಗವೆಂದರೆ ಕಂಪ್ಯೂಟರ್ನ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಮೇಲೆ ನೇರವಾಗಿ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ, ಇದು ಪ್ರಕ್ರಿಯೆ ನಿಯಂತ್ರಣ ಉಪವ್ಯವಸ್ಥೆಯಾಗಿದೆ. ಪ್ರತಿ ಹೊಸದಾಗಿ ರಚಿಸಲಾದ ಪ್ರಕ್ರಿಯೆಗೆ, ಕಂಪ್ಯೂಟರ್ ಸಿಸ್ಟಮ್ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಪ್ರಕ್ರಿಯೆಯ ಅಗತ್ಯತೆಗಳ ಬಗ್ಗೆ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುವ ಸಿಸ್ಟಮ್ ಮಾಹಿತಿ ರಚನೆಗಳನ್ನು OS ಉತ್ಪಾದಿಸುತ್ತದೆ, ಹಾಗೆಯೇ ಅದಕ್ಕೆ ನಿಜವಾಗಿ ನಿಯೋಜಿಸಲಾದ ಸಂಪನ್ಮೂಲಗಳ ಬಗ್ಗೆ. ಹೀಗಾಗಿ, ಒಂದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಿಸ್ಟಮ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸೇವಿಸುವ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು.

ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಪ್ರಕ್ರಿಯೆಯ ಕೋಡ್ ಮತ್ತು ಡೇಟಾವನ್ನು ಇರಿಸಲು RAM ನ ಪ್ರದೇಶವನ್ನು ನಿಯೋಜಿಸಬೇಕು ಮತ್ತು ಅದಕ್ಕೆ ಅಗತ್ಯವಾದ ಪ್ರೊಸೆಸರ್ ಸಮಯವನ್ನು ಒದಗಿಸಬೇಕು. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಪ್ರಕ್ರಿಯೆಗೆ ಫೈಲ್‌ಗಳು ಮತ್ತು I/O ಸಾಧನಗಳಂತಹ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಪ್ರವೇಶದ ಅಗತ್ಯವಿರಬಹುದು.

ಬಹುಕಾರ್ಯಕ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, ಒಂದು ಪ್ರಕ್ರಿಯೆಯು ಮೂರು ಮುಖ್ಯ ಸ್ಥಿತಿಗಳಲ್ಲಿ ಒಂದಾಗಿರಬಹುದು:

ರನ್ನಿಂಗ್ - ಪ್ರಕ್ರಿಯೆಯ ಸಕ್ರಿಯ ಸ್ಥಿತಿ, ಈ ಸಮಯದಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಯು ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಪ್ರೊಸೆಸರ್ನಿಂದ ನೇರವಾಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ;

ಕಾಯುವಿಕೆಯು ಪ್ರಕ್ರಿಯೆಯ ನಿಷ್ಕ್ರಿಯ ಸ್ಥಿತಿಯಾಗಿದೆ, ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ, ಅದು ತನ್ನದೇ ಆದ ಆಂತರಿಕ ಕಾರಣಗಳಿಗಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಇದು ಸಂಭವಿಸುವ ಕೆಲವು ಘಟನೆಗಳಿಗಾಗಿ ಕಾಯುತ್ತಿದೆ, ಉದಾಹರಣೆಗೆ, I/O ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುವುದು, ಇನ್ನೊಂದು ಪ್ರಕ್ರಿಯೆಯಿಂದ ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸುವುದು , ಅಥವಾ ಅದಕ್ಕೆ ಅಗತ್ಯವಿರುವ ಕೆಲವು ಸಂಪನ್ಮೂಲಗಳ ಬಿಡುಗಡೆ;

READY ಒಂದು ಪ್ರಕ್ರಿಯೆಯ ನಿಷ್ಕ್ರಿಯ ಸ್ಥಿತಿಯಾಗಿದೆ, ಆದರೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಯು ಅದರ ಹೊರಗಿನ ಸಂದರ್ಭಗಳಿಂದಾಗಿ ನಿರ್ಬಂಧಿಸಲ್ಪಡುತ್ತದೆ: ಪ್ರಕ್ರಿಯೆಯು ಅದಕ್ಕೆ ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹೊಂದಿದೆ, ಅದು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಿದ್ಧವಾಗಿದೆ, ಆದರೆ ಪ್ರೊಸೆಸರ್ ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಲ್ಲಿ ನಿರತವಾಗಿದೆ.

ಜೀವನ ಚಕ್ರದಲ್ಲಿ, ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆಯು ನಿರ್ದಿಷ್ಟ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನಲ್ಲಿ ಅಳವಡಿಸಲಾದ ಪ್ರಕ್ರಿಯೆ ವೇಳಾಪಟ್ಟಿ ಅಲ್ಗಾರಿದಮ್ಗೆ ಅನುಗುಣವಾಗಿ ಒಂದು ರಾಜ್ಯದಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಚಲಿಸುತ್ತದೆ. ಒಂದು ವಿಶಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಯ ಸ್ಥಿತಿಯ ಗ್ರಾಫ್ ಅನ್ನು ಚಿತ್ರ 1.1 ರಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆ.

ಚಿತ್ರ 1.1 — ಬಹುಕಾರ್ಯಕ ಪರಿಸರದಲ್ಲಿ ಸ್ಥಿತಿಯ ಗ್ರಾಫ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿ

ಏಕ-ಸಂಸ್ಕಾರಕ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, ಚಾಲನೆಯಲ್ಲಿರುವ ಸ್ಥಿತಿಯಲ್ಲಿ ಕೇವಲ ಒಂದು ಪ್ರಕ್ರಿಯೆ ಇರಬಹುದು, ಮತ್ತು ಪ್ರತಿ ಕಾಯುವಿಕೆ ಮತ್ತು ಸಿದ್ಧ ಸ್ಥಿತಿಗಳಲ್ಲಿ ಹಲವಾರು ಪ್ರಕ್ರಿಯೆಗಳು ಇರಬಹುದು; ಈ ಪ್ರಕ್ರಿಯೆಗಳು ಕ್ರಮವಾಗಿ ಕಾಯುವ ಮತ್ತು ಸಿದ್ಧ ಪ್ರಕ್ರಿಯೆಗಳ ಸಾಲುಗಳನ್ನು ರೂಪಿಸುತ್ತವೆ.

ಜೀವನ ಚಕ್ರಪ್ರಕ್ರಿಯೆಯು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಿದ್ಧವಾದಾಗ ಮತ್ತು ಅದರ ಸರದಿಗಾಗಿ ಕಾಯುತ್ತಿರುವಾಗ, ಪ್ರಕ್ರಿಯೆಯು ಸಿದ್ಧ ಸ್ಥಿತಿಯೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, ಪ್ರಕ್ರಿಯೆಯು ಚಾಲನೆಯಲ್ಲಿರುವ ಸ್ಥಿತಿಗೆ ಹೋಗುತ್ತದೆ ಮತ್ತು ಅದು ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡುವವರೆಗೆ, ಕೆಲವು ಈವೆಂಟ್‌ಗಾಗಿ ಕಾಯುವ ಸ್ಥಿತಿಗೆ ಹೋಗುವವರೆಗೆ ಅಥವಾ ಅದನ್ನು ಪ್ರೊಸೆಸರ್‌ನಿಂದ ಬಲವಂತವಾಗಿ ಹೊರಹಾಕುವವರೆಗೆ ಇರುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ನಿಗದಿಪಡಿಸಿದ ನಿಶ್ಯಕ್ತಿಯಿಂದಾಗಿ ಈ ಪ್ರಕ್ರಿಯೆ CPU ಸಮಯ ಕ್ವಾಂಟಮ್. ನಂತರದ ಸಂದರ್ಭದಲ್ಲಿ, ಪ್ರಕ್ರಿಯೆಯು ಸಿದ್ಧ ಸ್ಥಿತಿಗೆ ಮರಳುತ್ತದೆ. ನಿರೀಕ್ಷಿತ ಈವೆಂಟ್ ಸಂಭವಿಸಿದ ನಂತರ ಪ್ರಕ್ರಿಯೆಯು ಕಾಯುವ ಸ್ಥಿತಿಯಿಂದ ಈ ಸ್ಥಿತಿಗೆ ಪರಿವರ್ತನೆಯಾಗುತ್ತದೆ.

ಓದಲು ಲೇಖನಗಳು:

ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮೂಲಗಳು. ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣೆ

ಪ್ರಕ್ರಿಯೆ ಪ್ರತ್ಯೇಕತೆ;
  • ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಥ್ರೆಡ್ಗಳ ಮರಣದಂಡನೆಯನ್ನು ನಿಗದಿಪಡಿಸುವುದು (ಸಾಮಾನ್ಯವಾಗಿ, ನಾವು ಕಾರ್ಯಗಳನ್ನು ನಿಗದಿಪಡಿಸುವ ಬಗ್ಗೆ ಮಾತನಾಡಬೇಕು);
  • ಥ್ರೆಡ್ ರವಾನೆ;
  • ಇಂಟರ್ಪ್ರೊಸೆಸ್ ಪರಸ್ಪರ ಕ್ರಿಯೆಯ ಸಂಘಟನೆ;
  • ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಎಳೆಗಳ ಸಿಂಕ್ರೊನೈಸೇಶನ್;
  • ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಎಳೆಗಳ ಮುಕ್ತಾಯ ಮತ್ತು ನಾಶ.
  • ಐದು ಮುಖ್ಯ ಘಟನೆಗಳು ಪ್ರಕ್ರಿಯೆಯ ರಚನೆಗೆ ಕಾರಣವಾಗುತ್ತವೆ:

  • ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಲು ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಯ ವಿನಂತಿಯನ್ನು ಪೂರೈಸುವುದು;
  • ಸಂವಾದಾತ್ಮಕವಾಗಿ ಲಾಗಿನ್ ಮಾಡುವಾಗ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಲು ಬಳಕೆದಾರರ ವಿನಂತಿ;
  • ಬ್ಯಾಚ್ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸಿ;
  • ಯಾವುದೇ ಸೇವೆಗಳ ಕಾರ್ಯಾಚರಣೆಗೆ ಅಗತ್ಯವಾದ ಪ್ರಕ್ರಿಯೆಯ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ನಿಂದ ರಚನೆ.
  • ವಿಶಿಷ್ಟವಾಗಿ, OS ಬೂಟ್ ಮಾಡಿದಾಗ, ಹಲವಾರು ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ಅವುಗಳಲ್ಲಿ ಕೆಲವು ಬಳಕೆದಾರರೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯ ಪ್ರಕ್ರಿಯೆಗಳಾಗಿವೆ ನಿಯೋಜಿಸಲಾದ ಕೆಲಸ. ಉಳಿದ ಪ್ರಕ್ರಿಯೆಗಳು ಹಿನ್ನೆಲೆ ಪ್ರಕ್ರಿಯೆಗಳು, ಅವು ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರೊಂದಿಗೆ ಸಂಬಂಧ ಹೊಂದಿಲ್ಲ, ಆದರೆ ವಿಶೇಷ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ - ಉದಾಹರಣೆಗೆ, ಇಮೇಲ್, ವೆಬ್ ಪುಟಗಳು, ಮುದ್ರಣ, ನೆಟ್ವರ್ಕ್ ಮೂಲಕ ಫೈಲ್ಗಳನ್ನು ವರ್ಗಾಯಿಸುವುದು, ಕಾರ್ಯಕ್ರಮಗಳ ಆವರ್ತಕ ಉಡಾವಣೆ (ಉದಾಹರಣೆಗೆ, ಡಿಸ್ಕ್ ಡಿಫ್ರಾಗ್ಮೆಂಟೇಶನ್) ಇತ್ಯಾದಿ. ಹಿನ್ನೆಲೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಡೀಮನ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.

    ಪ್ರಸ್ತುತ ಪ್ರಕ್ರಿಯೆಯ ಕೋರಿಕೆಯ ಮೇರೆಗೆ ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಬಹುದು. ಹೊಸ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ರಚಿಸುವುದು, ನಿರ್ವಹಿಸುವ ಕಾರ್ಯವು ಅತ್ಯಂತ ಸುಲಭವಾಗಿ ಸಂಬಂಧಿತ, ಆದರೆ ಸ್ವತಂತ್ರ, ಪರಸ್ಪರ ಪ್ರಕ್ರಿಯೆಗಳ ಗುಂಪಾಗಿ ರೂಪುಗೊಳ್ಳುವ ಸಂದರ್ಭಗಳಲ್ಲಿ ಉಪಯುಕ್ತವಾಗಿದೆ. ಸಂವಾದಾತ್ಮಕ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಕೀಬೋರ್ಡ್‌ನಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ಟೈಪ್ ಮಾಡುವ ಮೂಲಕ ಅಥವಾ ಪ್ರೋಗ್ರಾಂ ಐಕಾನ್ ಅನ್ನು ಡಬಲ್ ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ಬಳಕೆದಾರರು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು. ಎರಡೂ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅದರಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ. IN ಬ್ಯಾಚ್ ಸಂಸ್ಕರಣಾ ವ್ಯವಸ್ಥೆಗಳುಮೇನ್‌ಫ್ರೇಮ್‌ಗಳಲ್ಲಿ, ಬಳಕೆದಾರರು ಕೆಲಸವನ್ನು ಸಲ್ಲಿಸುತ್ತಾರೆ (ಬಹುಶಃ ರಿಮೋಟ್ ಪ್ರವೇಶವನ್ನು ಬಳಸುತ್ತಾರೆ), ಮತ್ತು OS ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ಅಗತ್ಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಮುಕ್ತಗೊಳಿಸಿದಾಗ ಸರದಿಯಿಂದ ಮುಂದಿನ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.

    ತಾಂತ್ರಿಕ ದೃಷ್ಟಿಕೋನದಿಂದ, ಈ ಎಲ್ಲಾ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಹೊಸ ಪ್ರಕ್ರಿಯೆಯು ಅದೇ ರೀತಿಯಲ್ಲಿ ರೂಪುಗೊಳ್ಳುತ್ತದೆ: ಪ್ರಸ್ತುತ ಪ್ರಕ್ರಿಯೆಯು ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಲು ಸಿಸ್ಟಮ್ ವಿನಂತಿಯನ್ನು ಪೂರೈಸುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಉಪವ್ಯವಸ್ಥೆಯು ಅಗತ್ಯ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಒದಗಿಸಲು ಕಾರಣವಾಗಿದೆ. OS ಮೆಮೊರಿಯಲ್ಲಿ ವಿಶೇಷ ಮಾಹಿತಿ ರಚನೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಇದರಲ್ಲಿ ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆಗೆ ಯಾವ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹಂಚಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಇದು ದಾಖಲಿಸುತ್ತದೆ. ಇದು ಏಕೈಕ ಬಳಕೆಗಾಗಿ ಅಥವಾ ಇತರ ಪ್ರಕ್ರಿಯೆಗಳೊಂದಿಗೆ ಹಂಚಿಕೆಯ ಬಳಕೆಗಾಗಿ ಪ್ರಕ್ರಿಯೆಗೆ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿಯೋಜಿಸಬಹುದು. ಪ್ರಕ್ರಿಯೆಯು ರಚಿಸಿದಾಗ ಕೆಲವು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹಂಚಲಾಗುತ್ತದೆ ಮತ್ತು ಕೆಲವು ಸಮಯದಲ್ಲಿ ವಿನಂತಿಗಳನ್ನು ಆಧರಿಸಿ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಹಂಚಲಾಗುತ್ತದೆ ಪ್ರಮುಖ ಸಮಯ. ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೆ ಅದರ ಸಂಪೂರ್ಣ ಜೀವನಕ್ಕೆ ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಅವಧಿಗೆ ಮಾತ್ರ ಹಂಚಬಹುದು. ಈ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ, ಪ್ರಕ್ರಿಯೆ ನಿಯಂತ್ರಣ ಉಪವ್ಯವಸ್ಥೆಯು ಜವಾಬ್ದಾರಿಯುತ ಇತರ OS ಉಪವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ ಸಂಪನ್ಮೂಲ ನಿರ್ವಹಣೆ, ಮೆಮೊರಿ ನಿರ್ವಹಣೆ ಉಪವ್ಯವಸ್ಥೆಯಂತಹ, ಇನ್ಪುಟ್/ಔಟ್ಪುಟ್ ಉಪವ್ಯವಸ್ಥೆ, ಕಡತ ವ್ಯವಸ್ಥೆ.

    ಪ್ರಕ್ರಿಯೆಗಳು ಮಧ್ಯಪ್ರವೇಶಿಸುವುದನ್ನು ತಡೆಯಲು ಸಂಪನ್ಮೂಲ ಹಂಚಿಕೆ, ಮತ್ತು ಪರಸ್ಪರರ ಕೋಡ್‌ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಹಾನಿ ಮಾಡಲಾಗಲಿಲ್ಲ, OS ನ ಪ್ರಮುಖ ಕಾರ್ಯವೆಂದರೆ ಒಂದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಇನ್ನೊಂದರಿಂದ ಪ್ರತ್ಯೇಕಿಸುವುದು. ಇದಕ್ಕಾಗಿ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಪ್ರತಿಯೊಂದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರತ್ಯೇಕ ವರ್ಚುವಲ್ ವಿಳಾಸ ಸ್ಥಳವನ್ನು ಒದಗಿಸುತ್ತದೆ ಇದರಿಂದ ಯಾವುದೇ ಪ್ರಕ್ರಿಯೆಯು ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯ ಆಜ್ಞೆಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ನೇರವಾಗಿ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.

    ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಥ್ರೆಡ್‌ಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಓಎಸ್‌ನಲ್ಲಿ, ಒಂದು - ಪ್ರೊಸೆಸರ್ ಸಮಯವನ್ನು ಹೊರತುಪಡಿಸಿ ಎಲ್ಲಾ ರೀತಿಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸೇವಿಸುವ ವಿನಂತಿಯಾಗಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಈ ನಿರ್ಣಾಯಕ ಸಂಪನ್ಮೂಲವನ್ನು ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಯಿಂದ ಇತರ ಕೆಲಸದ ಘಟಕಗಳ ನಡುವೆ ವಿತರಿಸಲಾಗುತ್ತದೆ - ಥ್ರೆಡ್ಗಳು, ಅವರು ಆಜ್ಞೆಗಳ ಅನುಕ್ರಮಗಳನ್ನು (ಎಕ್ಸಿಕ್ಯೂಶನ್ ಥ್ರೆಡ್ಗಳು) ಪ್ರತಿನಿಧಿಸುವ ಕಾರಣದಿಂದಾಗಿ ಅವರ ಹೆಸರನ್ನು ಪಡೆದುಕೊಂಡಿದೆ. ಒಂದು ಥ್ರೆಡ್ನ ಮರಣದಂಡನೆಯಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಪರಿವರ್ತನೆಯ ಪರಿಣಾಮವಾಗಿ ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ ಯೋಜನೆಮತ್ತು ರವಾನೆ. ಪ್ರಸ್ತುತ ಥ್ರೆಡ್ ಅನ್ನು ಯಾವಾಗ ಅಡ್ಡಿಪಡಿಸಬೇಕು ಮತ್ತು ಚಲಾಯಿಸಲು ಅನುಮತಿಸಬೇಕಾದ ಥ್ರೆಡ್ ಅನ್ನು ನಿರ್ಧರಿಸುವ ಕೆಲಸವನ್ನು ವೇಳಾಪಟ್ಟಿ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಮಾಹಿತಿ ಮತ್ತು ಥ್ರೆಡ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ಥ್ರೆಡ್ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಮಾಡಲಾಗುತ್ತದೆ. ಯೋಜನೆ ಮಾಡುವಾಗ, ಅದನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ ಥ್ರೆಡ್ ಆದ್ಯತೆ, ಸರದಿಯಲ್ಲಿ ಅವರ ಕಾಯುವ ಸಮಯ, ಸಂಗ್ರಹವಾಗಿದೆ ಪ್ರಮುಖ ಸಮಯ, I/O ಪ್ರವೇಶದ ತೀವ್ರತೆ ಮತ್ತು ಇತರ ಅಂಶಗಳು.

    ರವಾನೆಯು ಯೋಜನೆಯ ಪರಿಣಾಮವಾಗಿ ಕಂಡುಬರುವ ಪರಿಹಾರವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಅಂದರೆ. ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಒಂದು ಥ್ರೆಡ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಬದಲಾಯಿಸುವಲ್ಲಿ. ರವಾನೆ ಮೂರು ಹಂತಗಳಲ್ಲಿ ನಡೆಯುತ್ತದೆ:

    • ಪ್ರಸ್ತುತ ಥ್ರೆಡ್ನ ಸಂದರ್ಭವನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ;
    • ವೇಳಾಪಟ್ಟಿಯ ಪರಿಣಾಮವಾಗಿ ಆಯ್ಕೆಮಾಡಿದ ಥ್ರೆಡ್ನ ಸಂದರ್ಭವನ್ನು ಲೋಡ್ ಮಾಡುವುದು;
    • ಮರಣದಂಡನೆಗಾಗಿ ಹೊಸ ಥ್ರೆಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ.

    ಒಂದು ವ್ಯವಸ್ಥೆಯು ಏಕಕಾಲದಲ್ಲಿ ಅನೇಕ ಸ್ವತಂತ್ರ ಕಾರ್ಯಗಳನ್ನು ನಡೆಸಿದಾಗ, ಹೆಚ್ಚುವರಿ ಸಮಸ್ಯೆಗಳು ಉದ್ಭವಿಸುತ್ತವೆ. ಥ್ರೆಡ್‌ಗಳು ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ಉದ್ಭವಿಸುತ್ತವೆ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತವೆಯಾದರೂ, ಡೇಟಾ ವಿನಿಮಯ ಮಾಡುವಾಗ ಅವುಗಳು ಸಂವಹನ ಮಾಡಬೇಕಾಗಬಹುದು. ಪರಸ್ಪರ ಸಂವಹನ ನಡೆಸಲು, ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಥ್ರೆಡ್‌ಗಳು ವ್ಯಾಪಕವಾದ ಸಾಧ್ಯತೆಗಳನ್ನು ಬಳಸಬಹುದು: ಪೈಪ್‌ಗಳು (UNIX ನಲ್ಲಿ), ಮೇಲ್‌ಬಾಕ್ಸ್‌ಗಳು (ವಿಂಡೋಸ್), ರಿಮೋಟ್ ಕಾರ್ಯವಿಧಾನದ ಕರೆಗಳು, ಸಾಕೆಟ್‌ಗಳು (ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಅವು ವಿಭಿನ್ನ ಯಂತ್ರಗಳಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಸಂಪರ್ಕಿಸುತ್ತವೆ). ರೇಸ್ ಪರಿಸ್ಥಿತಿಗಳನ್ನು (ಅಲ್ಲಿ ಅನೇಕ ಎಳೆಗಳು ಒಂದೇ ಫೈಲ್ ಅನ್ನು ಮಾರ್ಪಡಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತವೆ), ಡೆಡ್‌ಲಾಕ್‌ಗಳು ಮತ್ತು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುವಾಗ ಸಂಭವಿಸುವ ಇತರ ಘರ್ಷಣೆಗಳನ್ನು ತಡೆಯಲು ಥ್ರೆಡ್ ವೇಗವನ್ನು ಹೊಂದಿಸುವುದು ಬಹಳ ಮುಖ್ಯ.

    ಸಿಂಕ್ರೊನೈಸೇಶನ್ಥ್ರೆಡ್‌ಗಳು ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಉಪವ್ಯವಸ್ಥೆಯ ಪ್ರಮುಖ ಕಾರ್ಯಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಆಧುನಿಕ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳು ಸೆಮಾಫೋರ್‌ಗಳು, ಮ್ಯೂಟೆಕ್ಸ್‌ಗಳು, ನಿರ್ಣಾಯಕ ಪ್ರದೇಶಗಳು ಮತ್ತು ಘಟನೆಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ವಿವಿಧ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ. ಈ ಎಲ್ಲಾ ಕಾರ್ಯವಿಧಾನಗಳು ಎಳೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ, ಪ್ರಕ್ರಿಯೆಗಳಲ್ಲ. ಆದ್ದರಿಂದ ಸೆಮಾಫೋರ್‌ನಲ್ಲಿ ಥ್ರೆಡ್ ನಿರ್ಬಂಧಿಸಿದಾಗ, ಆ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿರುವ ಇತರ ಎಳೆಗಳು ಚಾಲನೆಯಲ್ಲಿ ಮುಂದುವರಿಯಬಹುದು.

    ಪ್ರತಿ ಬಾರಿ ಪ್ರಕ್ರಿಯೆಯು ನಿರ್ಗಮಿಸಿದಾಗ-ಕೆಳಗಿನ ಈವೆಂಟ್‌ಗಳಲ್ಲಿ ಒಂದರಿಂದ: ಸಾಮಾನ್ಯ ನಿರ್ಗಮನ, ದೋಷ ನಿರ್ಗಮನ, ಮಾರಣಾಂತಿಕ ದೋಷ ನಿರ್ಗಮನ, ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯಿಂದ ಕೊಲ್ಲುವುದು-ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಅದರ ಕುರುಹುಗಳನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸಲು OS ಕ್ರಮಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣಾ ಉಪವ್ಯವಸ್ಥೆಯು ಪ್ರಕ್ರಿಯೆಯು ಕಾರ್ಯನಿರ್ವಹಿಸಿದ ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಮುಚ್ಚುತ್ತದೆ, ಕೋಡ್‌ಗಳು, ಡೇಟಾ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯ ಸಿಸ್ಟಮ್ ಮಾಹಿತಿ ರಚನೆಗಳಿಗಾಗಿ ನಿಯೋಜಿಸಲಾದ RAM ನ ಪ್ರದೇಶಗಳನ್ನು ಮುಕ್ತಗೊಳಿಸುತ್ತದೆ. ಎಲ್ಲಾ ಸಂಭಾವ್ಯ OS ಸರತಿ ಸಾಲುಗಳು ಮತ್ತು ಕೊನೆಗೊಳ್ಳುವ ಪ್ರಕ್ರಿಯೆಗೆ ಲಿಂಕ್‌ಗಳನ್ನು ಹೊಂದಿರುವ ಸಂಪನ್ಮೂಲಗಳ ಪಟ್ಟಿಯನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ.

    ಈಗಾಗಲೇ ಗಮನಿಸಿದಂತೆ, ಬೆಂಬಲಿಸಲು ಮಲ್ಟಿಪ್ರೋಗ್ರಾಮಿಂಗ್, ಪ್ರೊಸೆಸರ್ ಮತ್ತು ಇತರ ಕಂಪ್ಯೂಟರ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ವಿಂಗಡಿಸಲಾದ ಕೆಲಸದ ಆಂತರಿಕ ಘಟಕಗಳನ್ನು OS ಸ್ವತಃ ವಿನ್ಯಾಸಗೊಳಿಸಬೇಕು. ಪ್ರಶ್ನೆ ಉದ್ಭವಿಸುತ್ತದೆ: ಈ ಕೆಲಸದ ಘಟಕಗಳ ನಡುವಿನ ಮೂಲಭೂತ ವ್ಯತ್ಯಾಸವೇನು, ಅವುಗಳ ಬಳಕೆಯಿಂದ ಯಾವ ಮಲ್ಟಿಪ್ರೋಗ್ರಾಮಿಂಗ್ ಪರಿಣಾಮವನ್ನು ಪಡೆಯಬಹುದು ಮತ್ತು ಯಾವ ಸಂದರ್ಭಗಳಲ್ಲಿ ಈ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಕೆಲಸದ ಘಟಕಗಳನ್ನು ರಚಿಸಬೇಕು?

    ನಿಸ್ಸಂಶಯವಾಗಿ, ಕಂಪ್ಯೂಟರ್ ಸಿಸ್ಟಮ್ನ ಯಾವುದೇ ಕಾರ್ಯಾಚರಣೆಯು ಕೆಲವು ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಆದ್ದರಿಂದ, ಒಂದು ನಿರ್ದಿಷ್ಟ ಪ್ರೋಗ್ರಾಂ ಕೋಡ್ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ಎರಡಕ್ಕೂ ಸಂಬಂಧಿಸಿದೆ, ಇದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಮಾಡ್ಯೂಲ್ ರೂಪದಲ್ಲಿ ನೀಡಲಾಗುತ್ತದೆ. ಸರಳವಾದ ಸಂದರ್ಭದಲ್ಲಿ, ಒಂದು ಪ್ರಕ್ರಿಯೆಯು ಒಂದೇ ಥ್ರೆಡ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಮತ್ತು ಕೆಲವು ಆಧುನಿಕ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗಳು ಇನ್ನೂ ಈ ಪರಿಸ್ಥಿತಿಯನ್ನು ಹೊಂದಿವೆ. ಮಲ್ಟಿಪ್ರೋಗ್ರಾಮಿಂಗ್ಅಂತಹ OS ನಲ್ಲಿ ಇದನ್ನು ಪ್ರಕ್ರಿಯೆಯ ಮಟ್ಟದಲ್ಲಿ ನಡೆಸಲಾಗುತ್ತದೆ. ಸಂವಹನ ಅಗತ್ಯವಿದ್ದಾಗ, ಪ್ರಕ್ರಿಯೆಗಳು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗೆ ತಿರುಗುತ್ತವೆ, ಇದು ಮಧ್ಯವರ್ತಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಅವರಿಗೆ ಇಂಟರ್‌ಪ್ರೊಸೆಸ್ ಸಂವಹನ ಸಾಧನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ - ಚಾನಲ್‌ಗಳು, ಮೇಲ್ ಹಂಚಿಕೆಗಳು, ಹಂಚಿಕೆಯ ಮೆಮೊರಿ ವಿಭಾಗಗಳು, ಇತ್ಯಾದಿ.

    ಆದಾಗ್ಯೂ, ಥ್ರೆಡ್ನ ಪರಿಕಲ್ಪನೆಯನ್ನು ಹೊಂದಿರದ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಪ್ರಕ್ರಿಯೆಯೊಳಗೆ ಸಮಾನಾಂತರ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಆಯೋಜಿಸುವಾಗ ಸಮಸ್ಯೆಗಳು ಉದ್ಭವಿಸುತ್ತವೆ. ಮತ್ತು ಅಂತಹ ಅಗತ್ಯವು ಉದ್ಭವಿಸಬಹುದು. ಏಕ-ಪ್ರೋಗ್ರಾಂ ಮೋಡ್‌ಗಿಂತ ಒಂದೇ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಎಂದಿಗೂ ವೇಗವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುವುದಿಲ್ಲ ಎಂಬುದು ಪಾಯಿಂಟ್. ಆದಾಗ್ಯೂ, ಒಂದೇ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಹೊಂದಿರಬಹುದು ಆಂತರಿಕ ಸಮಾನಾಂತರತೆ, ಇದು ತಾತ್ವಿಕವಾಗಿ, ಅದರ ಪರಿಹಾರವನ್ನು ವೇಗಗೊಳಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಪ್ರೋಗ್ರಾಂ ಬಾಹ್ಯ ಸಾಧನಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸಿದರೆ, ಈ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ ಸಂಪೂರ್ಣ ಪ್ರಕ್ರಿಯೆಯ ಮರಣದಂಡನೆಯನ್ನು ನಿರ್ಬಂಧಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಆದರೆ ಪ್ರೋಗ್ರಾಂನ ಮತ್ತೊಂದು ಶಾಖೆಯಲ್ಲಿ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಮುಂದುವರಿಸಲು ಸಾಧ್ಯವಿದೆ.

    ಒಂದೇ ಸಂವಾದಾತ್ಮಕ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಸಮಾನಾಂತರವಾಗಿ ಬಹು ಉದ್ಯೋಗಗಳನ್ನು ನಡೆಸುವುದು ಬಳಕೆದಾರರ ದಕ್ಷತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ, ಪಠ್ಯ ಸಂಪಾದಕದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ, ಪಠ್ಯದ ಗಮನಾರ್ಹ ಭಾಗವನ್ನು ಮರುಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುವುದು, ಸ್ಥಳೀಯ ಅಥವಾ ರಿಮೋಟ್ ಡಿಸ್ಕ್ನಲ್ಲಿ ಉಳಿಸುವುದು ಮುಂತಾದ ಸುದೀರ್ಘ ಕಾರ್ಯಾಚರಣೆಗಳೊಂದಿಗೆ ಹೊಸ ಪಠ್ಯವನ್ನು ಟೈಪ್ ಮಾಡುವುದನ್ನು ಸಂಯೋಜಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

    ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಟೈಪ್ ಮಾಡುವಾಗ ವಿರಾಮದ ಸಮಯದಲ್ಲಿ ಮೂಲ ಕೋಡ್ ಫೈಲ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಂಪೈಲ್ ಮಾಡಬಹುದಾದ ಕಂಪೈಲರ್‌ನ ಭವಿಷ್ಯದ ಆವೃತ್ತಿಯನ್ನು ಕಲ್ಪಿಸುವುದು ಕಷ್ಟವೇನಲ್ಲ. ನಂತರ ಎಚ್ಚರಿಕೆಗಳು ಮತ್ತು ದೋಷ ಸಂದೇಶಗಳು ನೈಜ ಸಮಯದಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ ಮತ್ತು ಬಳಕೆದಾರರು ಎಲ್ಲಿ ತಪ್ಪಾಗಿದೆ ಎಂಬುದನ್ನು ತಕ್ಷಣವೇ ನೋಡುತ್ತಾರೆ. ಆಧುನಿಕ ಸ್ಪ್ರೆಡ್‌ಶೀಟ್‌ಗಳುಬಳಕೆದಾರರು ಏನನ್ನಾದರೂ ಬದಲಾಯಿಸಿದ ತಕ್ಷಣ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಡೇಟಾವನ್ನು ಮರು ಲೆಕ್ಕಾಚಾರ ಮಾಡಿ. ವರ್ಡ್ ಪ್ರೊಸೆಸರ್‌ಗಳು ಪಠ್ಯವನ್ನು ಪುಟಗಳಾಗಿ ಒಡೆಯುತ್ತವೆ, ಕಾಗುಣಿತಕ್ಕಾಗಿ ಅದನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ವ್ಯಾಕರಣ ದೋಷಗಳು, ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಟೈಪ್ ಮಾಡುವುದು, ಪ್ರತಿ ಕೆಲವು ನಿಮಿಷಗಳ ಪಠ್ಯವನ್ನು ಉಳಿಸುವುದು ಇತ್ಯಾದಿ. ಈ ಎಲ್ಲಾ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಥ್ರೆಡ್ಗಳನ್ನು ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಸಮಾನಾಂತರಗೊಳಿಸುವ ಸಾಧನವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

    ಈ ಕಾರ್ಯಗಳನ್ನು ಪ್ರೋಗ್ರಾಮರ್‌ಗೆ ನಿಯೋಜಿಸಬಹುದು, ಅವರು ಒಂದೇ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಸಮಾನಾಂತರತೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ರವಾನೆ ಕಾರ್ಯಕ್ರಮವನ್ನು ಬರೆಯುತ್ತಾರೆ. ಆದಾಗ್ಯೂ, ಇದು ತುಂಬಾ ಕಷ್ಟ, ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಸ್ವತಃ ತುಂಬಾ ಗೊಂದಲಮಯವಾಗಿದೆ ಮತ್ತು ಡೀಬಗ್ ಮಾಡಲು ಕಷ್ಟವಾಗುತ್ತದೆ.

    ಪ್ರತಿಯೊಂದು ಸಮಾನಾಂತರಕ್ಕೂ ಒಂದು ಅಪ್ಲಿಕೇಶನ್‌ಗಾಗಿ ಹಲವಾರು ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ರಚಿಸುವುದು ಮತ್ತೊಂದು ಪರಿಹಾರವಾಗಿದೆ

    ಕಂಪ್ಯೂಟರ್‌ನ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಮೇಲೆ ನೇರವಾಗಿ ಪರಿಣಾಮ ಬೀರುವ ಯಾವುದೇ ಆಧುನಿಕ ಮಲ್ಟಿಪ್ರೋಗ್ರಾಮ್ ಓಎಸ್‌ನ ಮುಖ್ಯ ಉಪವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಒಂದು ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಉಪವ್ಯವಸ್ಥೆಯಾಗಿದೆ. ಈ ಉಪವ್ಯವಸ್ಥೆಯ ಮುಖ್ಯ ಕಾರ್ಯಗಳು:

      ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಎಳೆಗಳನ್ನು ರಚಿಸುವುದು;

      ಅಗತ್ಯ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಎಳೆಗಳನ್ನು ಒದಗಿಸುವುದು;

      ಪ್ರಕ್ರಿಯೆ ಪ್ರತ್ಯೇಕತೆ;

      ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಥ್ರೆಡ್ಗಳ ಮರಣದಂಡನೆಯನ್ನು ನಿಗದಿಪಡಿಸುವುದು (ಸಾಮಾನ್ಯವಾಗಿ, ನಾವು ಕಾರ್ಯಗಳನ್ನು ನಿಗದಿಪಡಿಸುವ ಬಗ್ಗೆ ಮಾತನಾಡಬೇಕು);

      ಥ್ರೆಡ್ ರವಾನೆ;

      ಇಂಟರ್ಪ್ರೊಸೆಸ್ ಸಂವಹನದ ಸಂಘಟನೆ;

      ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಎಳೆಗಳ ಸಿಂಕ್ರೊನೈಸೇಶನ್;

      ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಎಳೆಗಳ ಮುಕ್ತಾಯ ಮತ್ತು ನಾಶ.

    1. ಐದು ಮುಖ್ಯ ಘಟನೆಗಳು ಪ್ರಕ್ರಿಯೆಯ ರಚನೆಗೆ ಕಾರಣವಾಗುತ್ತವೆ:

      ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಲು ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಯ ವಿನಂತಿಯನ್ನು ಪೂರೈಸುವುದು;

      ಸಂವಾದಾತ್ಮಕವಾಗಿ ಲಾಗಿನ್ ಮಾಡುವಾಗ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಲು ಬಳಕೆದಾರರ ವಿನಂತಿ;

      ಬ್ಯಾಚ್ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸಿ;

      ಯಾವುದೇ ಸೇವೆಗಳ ಕಾರ್ಯಾಚರಣೆಗೆ ಅಗತ್ಯವಾದ ಪ್ರಕ್ರಿಯೆಯ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ನಿಂದ ರಚನೆ.

    ವಿಶಿಷ್ಟವಾಗಿ, OS ಬೂಟ್ ಮಾಡಿದಾಗ, ಹಲವಾರು ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ಅವುಗಳಲ್ಲಿ ಕೆಲವು ಬಳಕೆದಾರರೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ ಮತ್ತು ನಿಯೋಜಿಸಲಾದ ಕೆಲಸವನ್ನು ನಿರ್ವಹಿಸುವ ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯ ಪ್ರಕ್ರಿಯೆಗಳಾಗಿವೆ. ಉಳಿದ ಪ್ರಕ್ರಿಯೆಗಳು ಹಿನ್ನೆಲೆ ಪ್ರಕ್ರಿಯೆಗಳಾಗಿವೆ, ಅವು ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರೊಂದಿಗೆ ಸಂಬಂಧ ಹೊಂದಿಲ್ಲ, ಆದರೆ ವಿಶೇಷ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ - ಉದಾಹರಣೆಗೆ, ಇಮೇಲ್, ವೆಬ್ ಪುಟಗಳು, ಔಟ್ಪುಟ್ಗೆ ಸಂಬಂಧಿಸಿದ ಮುದ್ರೆ, ಫೈಲ್ ವರ್ಗಾವಣೆ ಮೂಲಕನೆಟ್ವರ್ಕ್, ಕಾರ್ಯಕ್ರಮಗಳ ಆವರ್ತಕ ಉಡಾವಣೆ (ಉದಾಹರಣೆಗೆ, ಡಿಸ್ಕ್ ಡಿಫ್ರಾಗ್ಮೆಂಟೇಶನ್) ಇತ್ಯಾದಿ. ಹಿನ್ನೆಲೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಡೀಮನ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.

    ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಬಹುದು ಮೂಲಕಪ್ರಸ್ತುತ ಪ್ರಕ್ರಿಯೆಯ ವಿನಂತಿ. ಹೊಸ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ರಚಿಸುವುದು, ನಿರ್ವಹಿಸುವ ಕಾರ್ಯವು ಅತ್ಯಂತ ಸುಲಭವಾಗಿ ಸಂಬಂಧಿತ, ಆದರೆ ಸ್ವತಂತ್ರ, ಪರಸ್ಪರ ಪ್ರಕ್ರಿಯೆಗಳ ಗುಂಪಾಗಿ ರೂಪುಗೊಳ್ಳುವ ಸಂದರ್ಭಗಳಲ್ಲಿ ಉಪಯುಕ್ತವಾಗಿದೆ. ಸಂವಾದಾತ್ಮಕ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಬಳಕೆದಾರಕೀಬೋರ್ಡ್‌ನಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ಟೈಪ್ ಮಾಡುವ ಮೂಲಕ ಅಥವಾ ಪ್ರೋಗ್ರಾಂ ಐಕಾನ್ ಅನ್ನು ಡಬಲ್ ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು. ಎರಡೂ ಸಂದರ್ಭಗಳಲ್ಲಿ ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಲಾಗಿದೆ ಮತ್ತು ಉಡಾವಣೆಅದರಲ್ಲಿ ಕಾರ್ಯಕ್ರಮಗಳಿವೆ. IN ಬ್ಯಾಚ್ ಸಂಸ್ಕರಣಾ ವ್ಯವಸ್ಥೆಗಳುಮೇನ್‌ಫ್ರೇಮ್‌ಗಳಲ್ಲಿ, ಬಳಕೆದಾರರು ಕೆಲಸವನ್ನು ಸಲ್ಲಿಸುತ್ತಾರೆ (ಬಹುಶಃ ರಿಮೋಟ್ ಪ್ರವೇಶವನ್ನು ಬಳಸುತ್ತಾರೆ), ಮತ್ತು OS ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ಅಗತ್ಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಮುಕ್ತಗೊಳಿಸಿದಾಗ ಸರದಿಯಿಂದ ಮುಂದಿನ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.

    2. ತಾಂತ್ರಿಕ ದೃಷ್ಟಿಕೋನದಿಂದ, ಈ ಎಲ್ಲಾ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಹೊಸ ಪ್ರಕ್ರಿಯೆಯು ಅದೇ ರೀತಿಯಲ್ಲಿ ರೂಪುಗೊಳ್ಳುತ್ತದೆ: ಪ್ರಸ್ತುತ ಪ್ರಕ್ರಿಯೆಯು ವ್ಯವಸ್ಥೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ವಿನಂತಿಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಲು. ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಉಪವ್ಯವಸ್ಥೆಯು ಅಗತ್ಯ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಒದಗಿಸಲು ಕಾರಣವಾಗಿದೆ. OS ಮೆಮೊರಿಯಲ್ಲಿ ವಿಶೇಷ ಮಾಹಿತಿ ರಚನೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಇದರಲ್ಲಿ ಪ್ರತಿ ಪ್ರಕ್ರಿಯೆಗೆ ಯಾವ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹಂಚಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಇದು ದಾಖಲಿಸುತ್ತದೆ. ಇದು ಏಕೈಕ ಬಳಕೆಗಾಗಿ ಅಥವಾ ಇತರ ಪ್ರಕ್ರಿಯೆಗಳೊಂದಿಗೆ ಹಂಚಿಕೆಯ ಬಳಕೆಗಾಗಿ ಪ್ರಕ್ರಿಯೆಗೆ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿಯೋಜಿಸಬಹುದು. ಅದನ್ನು ರಚಿಸಿದಾಗ ಕೆಲವು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೆ ಹಂಚಲಾಗುತ್ತದೆ ಮತ್ತು ಕೆಲವು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಹಂಚಲಾಗುತ್ತದೆ ಮೂಲಕರಲ್ಲಿ ವಿಚಾರಣೆಗಳು ಪ್ರಮುಖ ಸಮಯ. ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೆ ಅದರ ಸಂಪೂರ್ಣ ಜೀವನಕ್ಕೆ ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಅವಧಿಗೆ ಮಾತ್ರ ಹಂಚಬಹುದು. ಈ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ, ಪ್ರಕ್ರಿಯೆ ನಿಯಂತ್ರಣ ಉಪವ್ಯವಸ್ಥೆಯು ಜವಾಬ್ದಾರಿಯುತ ಇತರ OS ಉಪವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ ಸಂಪನ್ಮೂಲ ನಿರ್ವಹಣೆಮೆಮೊರಿ ನಿರ್ವಹಣೆ ಉಪವ್ಯವಸ್ಥೆಯಂತಹ, ಇನ್ಪುಟ್/ಔಟ್ಪುಟ್ ಉಪವ್ಯವಸ್ಥೆ, ಕಡತ ವ್ಯವಸ್ಥೆ.

    3. ಪ್ರಕ್ರಿಯೆಗಳು ಮಧ್ಯಪ್ರವೇಶಿಸುವುದನ್ನು ತಡೆಯಲು ಸಂಪನ್ಮೂಲ ಹಂಚಿಕೆ, ಮತ್ತು ಪರಸ್ಪರರ ಕೋಡ್‌ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಹಾನಿ ಮಾಡಲಾಗಲಿಲ್ಲ, OS ನ ಪ್ರಮುಖ ಕಾರ್ಯವೆಂದರೆ ಒಂದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಇನ್ನೊಂದರಿಂದ ಪ್ರತ್ಯೇಕಿಸುವುದು. ಇದಕ್ಕಾಗಿ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಪ್ರತಿಯೊಂದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರತ್ಯೇಕ ವರ್ಚುವಲ್ ವಿಳಾಸ ಸ್ಥಳವನ್ನು ಒದಗಿಸುತ್ತದೆ ಇದರಿಂದ ಯಾವುದೇ ಪ್ರಕ್ರಿಯೆಯು ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯ ಆಜ್ಞೆಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ನೇರವಾಗಿ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.

    4. ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಥ್ರೆಡ್‌ಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಓಎಸ್‌ನಲ್ಲಿ, ಒಂದು - ಪ್ರೊಸೆಸರ್ ಸಮಯವನ್ನು ಹೊರತುಪಡಿಸಿ ಎಲ್ಲಾ ರೀತಿಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸೇವಿಸುವ ವಿನಂತಿಯಾಗಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಇದು ಅತ್ಯಂತ ಪ್ರಮುಖವಾದದ್ದು ಸಂಪನ್ಮೂಲಕೆಲಸದ ಇತರ ಘಟಕಗಳ ನಡುವೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಮೂಲಕ ವಿತರಿಸಲಾಗುತ್ತದೆ - ಥ್ರೆಡ್ಗಳು, ಅವರು ಆಜ್ಞೆಗಳ ಅನುಕ್ರಮಗಳನ್ನು (ಎಕ್ಸಿಕ್ಯೂಶನ್ ಥ್ರೆಡ್ಗಳು) ಪ್ರತಿನಿಧಿಸುವ ಕಾರಣದಿಂದಾಗಿ ಅವರ ಹೆಸರನ್ನು ಪಡೆದುಕೊಂಡಿದೆ. ಒಂದು ಥ್ರೆಡ್ನ ಮರಣದಂಡನೆಯಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಪರಿವರ್ತನೆಯ ಪರಿಣಾಮವಾಗಿ ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆಯೋಜನೆ ಮತ್ತುರವಾನೆ . ಉದ್ಯೋಗ ಮೂಲಕಪ್ರಸ್ತುತ ಥ್ರೆಡ್ ಅನ್ನು ಯಾವ ಕ್ಷಣದಲ್ಲಿ ಅಡ್ಡಿಪಡಿಸಬೇಕು ಮತ್ತು ಚಲಾಯಿಸಲು ಅನುಮತಿಸಬೇಕಾದ ಥ್ರೆಡ್ ಅನ್ನು ನಿಗದಿಪಡಿಸುವುದು ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಮಾಹಿತಿ ಮತ್ತು ಥ್ರೆಡ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ಥ್ರೆಡ್ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಮಾಡಲಾಗುತ್ತದೆ.ಯೋಜನೆ ಮಾಡುವಾಗ, ಅದನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ ಥ್ರೆಡ್ ಆದ್ಯತೆ, ಸರದಿಯಲ್ಲಿ ಅವರ ಕಾಯುವ ಸಮಯ, ಸಂಗ್ರಹವಾಗಿದೆ ಪ್ರಮುಖ ಸಮಯ, I/O ಪ್ರವೇಶದ ತೀವ್ರತೆ ಮತ್ತು ಇತರ ಅಂಶಗಳು.

    5. ರವಾನೆಯು ಯೋಜನೆಯ ಪರಿಣಾಮವಾಗಿ ಕಂಡುಬರುವ ಪರಿಹಾರವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಅಂದರೆ. ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಒಂದು ಥ್ರೆಡ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಬದಲಾಯಿಸುವಲ್ಲಿ. ರವಾನೆ ಮೂರು ಹಂತಗಳಲ್ಲಿ ನಡೆಯುತ್ತದೆ:

      ಪ್ರಸ್ತುತ ಥ್ರೆಡ್ನ ಸಂದರ್ಭವನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ;

      ಮರಣದಂಡನೆಗಾಗಿ ಹೊಸ ಥ್ರೆಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ.

    6. ಒಂದು ವ್ಯವಸ್ಥೆಯು ಏಕಕಾಲದಲ್ಲಿ ಅನೇಕ ಸ್ವತಂತ್ರ ಕಾರ್ಯಗಳನ್ನು ನಡೆಸಿದಾಗ, ಹೆಚ್ಚುವರಿ ಸಮಸ್ಯೆಗಳು ಉದ್ಭವಿಸುತ್ತವೆ. ಥ್ರೆಡ್‌ಗಳು ಹುಟ್ಟಿಕೊಂಡರೂ ಮತ್ತು ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತವೆಯಾದರೂ, ಅವುಗಳು ಸಂವಹನ ಮಾಡಬೇಕಾಗಬಹುದು, ಉದಾಹರಣೆಗೆ, ಡೇಟಾವನ್ನು ವಿನಿಮಯ ಮಾಡುವಾಗ. ಪರಸ್ಪರ ಸಂವಹನ ನಡೆಸಲು, ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಎಳೆಗಳು ವ್ಯಾಪಕವಾದ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಬಳಸಬಹುದು: ಚಾನಲ್‌ಗಳು (ಇನ್ UNIX), ಅಂಚೆ ಪೆಟ್ಟಿಗೆಗಳು ( ವಿಂಡೋಸ್), ರಿಮೋಟ್ ಕಾರ್ಯವಿಧಾನದ ಕರೆ, ಸಾಕೆಟ್‌ಗಳು (ಇನ್ ವಿಂಡೋಸ್ವಿವಿಧ ಯಂತ್ರಗಳಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಸಂಪರ್ಕಿಸಿ). ಓಟದ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ತಡೆಗಟ್ಟಲು ಥ್ರೆಡ್ ವೇಗವನ್ನು ಹೊಂದಿಸುವುದು ಬಹಳ ಮುಖ್ಯ (ಅಲ್ಲಿ ಬಹು ಎಳೆಗಳು ಒಂದೇ ರೀತಿ ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತವೆ ಕಡತ), ಡೆಡ್‌ಲಾಕ್‌ಗಳು ಮತ್ತು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹಂಚಿಕೊಂಡಾಗ ಸಂಭವಿಸುವ ಇತರ ಘರ್ಷಣೆಗಳು.

    7. ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಥ್ರೆಡ್‌ಗಳು ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಉಪವ್ಯವಸ್ಥೆಯ ಪ್ರಮುಖ ಕಾರ್ಯಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ.ಆಧುನಿಕ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳು ಸೆಮಾಫೋರ್‌ಗಳು, ಮ್ಯೂಟೆಕ್ಸ್‌ಗಳು, ನಿರ್ಣಾಯಕ ಪ್ರದೇಶಗಳು ಮತ್ತು ಘಟನೆಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ವಿವಿಧ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ. ಇವೆಲ್ಲ ಕಾರ್ಯವಿಧಾನಗಳುಎಳೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿ, ಪ್ರಕ್ರಿಯೆಗಳಲ್ಲ. ಅದಕ್ಕಾಗಿಯೇ ಯಾವಾಗ ಹರಿವುಸೆಮಾಫೋರ್‌ನಲ್ಲಿ ಬ್ಲಾಕ್‌ಗಳು, ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿನ ಇತರ ಎಳೆಗಳು ಚಾಲನೆಯಲ್ಲಿ ಮುಂದುವರಿಯಬಹುದು.

    8. ಪ್ರತಿ ಬಾರಿ ಪ್ರಕ್ರಿಯೆಯು ಕೊನೆಗೊಳ್ಳುತ್ತದೆ, – ಮತ್ತು ಇದು ಈ ಕೆಳಗಿನ ಘಟನೆಗಳಲ್ಲಿ ಒಂದರಿಂದ ಸಂಭವಿಸುತ್ತದೆ: ಸಾಮಾನ್ಯ ನಿರ್ಗಮಿಸಿ, ನಿರ್ಗಮಿಸಿ ಮೂಲಕತಪ್ಪು, ನಿರ್ಗಮಿಸಿ ಮೂಲಕಮಾರಣಾಂತಿಕ ದೋಷ, ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯಿಂದ ವಿನಾಶ - OS ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಅದರ ಉಪಸ್ಥಿತಿಯ "ಕುರುಹುಗಳನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸಲು" ಕ್ರಮಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣಾ ಉಪವ್ಯವಸ್ಥೆಯು ಪ್ರಕ್ರಿಯೆಯು ಕಾರ್ಯನಿರ್ವಹಿಸಿದ ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಮುಚ್ಚುತ್ತದೆ, ಕೋಡ್‌ಗಳು, ಡೇಟಾ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯ ಸಿಸ್ಟಮ್ ಮಾಹಿತಿ ರಚನೆಗಳಿಗಾಗಿ ನಿಯೋಜಿಸಲಾದ RAM ನ ಪ್ರದೇಶಗಳನ್ನು ಮುಕ್ತಗೊಳಿಸುತ್ತದೆ. ನಿರ್ವಹಿಸಿದರು ತಿದ್ದುಪಡಿಎಲ್ಲಾ ರೀತಿಯ OS ಕ್ಯೂಗಳು ಮತ್ತು ಪಟ್ಟಿಕೊನೆಗೊಳ್ಳುವ ಪ್ರಕ್ರಿಯೆಗೆ ಲಿಂಕ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಸಂಪನ್ಮೂಲಗಳು.

    ಅದ್ವಿತೀಯ ಕಂಪ್ಯೂಟರ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ಕಾರ್ಯಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ OS ನಿರ್ವಹಿಸುವ ಸ್ಥಳೀಯ ಸಂಪನ್ಮೂಲಗಳ ಪ್ರಕಾರ ಅಥವಾ ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಅನ್ವಯಿಸುವ ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಗಳ ಪ್ರಕಾರ ವರ್ಗೀಕರಿಸಲಾಗುತ್ತದೆ. ಕೆಲವೊಮ್ಮೆ ಇಂತಹ ಕಾರ್ಯಗಳ ಗುಂಪುಗಳನ್ನು ಉಪವ್ಯವಸ್ಥೆಗಳು ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಪ್ರಮುಖ ಸಂಪನ್ಮೂಲ ನಿರ್ವಹಣಾ ಉಪವ್ಯವಸ್ಥೆಗಳೆಂದರೆ ಪ್ರಕ್ರಿಯೆ, ಮೆಮೊರಿ, ಫೈಲ್ ಮತ್ತು ಬಾಹ್ಯ ಸಾಧನ ನಿರ್ವಹಣಾ ಉಪವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಸಾಮಾನ್ಯವಾದ ಉಪವ್ಯವಸ್ಥೆಗಳೆಂದರೆ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್, ಡೇಟಾ ಭದ್ರತೆ ಮತ್ತು ಆಡಳಿತ ಉಪವ್ಯವಸ್ಥೆಗಳು. ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ಪ್ರಮುಖ ಭಾಗವೆಂದರೆ ಕಂಪ್ಯೂಟರ್ನ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಮೇಲೆ ನೇರವಾಗಿ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ, ಇದು ಪ್ರಕ್ರಿಯೆ ನಿಯಂತ್ರಣ ಉಪವ್ಯವಸ್ಥೆಯಾಗಿದೆ. ಪ್ರತಿ ಹೊಸದಾಗಿ ರಚಿಸಲಾದ ಪ್ರಕ್ರಿಯೆಗೆ, ಕಂಪ್ಯೂಟರ್ ಸಿಸ್ಟಮ್ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಪ್ರಕ್ರಿಯೆಯ ಅಗತ್ಯತೆಗಳ ಬಗ್ಗೆ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುವ ಸಿಸ್ಟಮ್ ಮಾಹಿತಿ ರಚನೆಗಳನ್ನು OS ಉತ್ಪಾದಿಸುತ್ತದೆ, ಹಾಗೆಯೇ ಅದಕ್ಕೆ ನಿಜವಾಗಿ ನಿಯೋಜಿಸಲಾದ ಸಂಪನ್ಮೂಲಗಳ ಬಗ್ಗೆ. ಹೀಗಾಗಿ, ಒಂದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಿಸ್ಟಮ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸೇವಿಸುವ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು. ಮಲ್ಟಿಪ್ರೋಗ್ರಾಮ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನಲ್ಲಿ, ಹಲವಾರು ಪ್ರಕ್ರಿಯೆಗಳು ಏಕಕಾಲದಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರಬಹುದು. ಕೆಲವು ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಬಳಕೆದಾರರು ಮತ್ತು ಅವರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಉಪಕ್ರಮದಲ್ಲಿ ರಚಿಸಲಾಗುತ್ತದೆ; ಅಂತಹ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಕೆದಾರ ಪ್ರಕ್ರಿಯೆಗಳು ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಸಿಸ್ಟಮ್ ಪ್ರಕ್ರಿಯೆಗಳು ಎಂದು ಕರೆಯಲ್ಪಡುವ ಇತರ ಪ್ರಕ್ರಿಯೆಗಳು ತಮ್ಮ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಮೂಲಕ ಪ್ರಾರಂಭಿಸಲ್ಪಡುತ್ತವೆ. ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ಪ್ರಮುಖ ಕಾರ್ಯವೆಂದರೆ ನಿರ್ದಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಗೆ ನಿಯೋಜಿಸಲಾದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಇತರ ಪ್ರಕ್ರಿಯೆಗಳಿಂದ ರಕ್ಷಿಸುವುದು. ಪ್ರಕ್ರಿಯೆಯ ಕೋಡ್ ಮತ್ತು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿರುವ RAM ನ ಪ್ರದೇಶಗಳು ಅತ್ಯಂತ ಎಚ್ಚರಿಕೆಯಿಂದ ಸಂರಕ್ಷಿತ ಪ್ರಕ್ರಿಯೆ ಸಂಪನ್ಮೂಲಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನಿಂದ ಪ್ರಕ್ರಿಯೆಗೆ ನಿಯೋಜಿಸಲಾದ RAM ನ ಎಲ್ಲಾ ಪ್ರದೇಶಗಳ ಸೆಟ್ ಅನ್ನು ಅದರ ವಿಳಾಸ ಸ್ಥಳ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಪ್ರಕ್ರಿಯೆಯು ತನ್ನದೇ ಆದ ವಿಳಾಸ ಜಾಗದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ, OS ನಿಂದ ಒದಗಿಸಲಾದ ವಿಳಾಸ ಸ್ಥಳಗಳ ರಕ್ಷಣೆಯನ್ನು ಉಲ್ಲೇಖಿಸುತ್ತದೆ. ಫೈಲ್‌ಗಳು, ಬಾಹ್ಯ ಸಾಧನಗಳು, ಇತ್ಯಾದಿಗಳಂತಹ ಇತರ ರೀತಿಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸಹ ರಕ್ಷಿಸಲಾಗಿದೆ. ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಒಂದು ಪ್ರಕ್ರಿಯೆಗೆ ನಿಯೋಜಿಸಲಾದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಕ್ಷಿಸಲು ಮಾತ್ರವಲ್ಲ, ಅವುಗಳ ಹಂಚಿಕೆಯನ್ನು ಸಹ ಆಯೋಜಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಒಂದು ನಿರ್ದಿಷ್ಟ ಪ್ರದೇಶಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಹಲವಾರು ಪ್ರಕ್ರಿಯೆಗಳಿಂದ ಮೆಮೊರಿ. ಪ್ರಕ್ರಿಯೆಯ ಜೀವನದಲ್ಲಿ, ಅದರ ಮರಣದಂಡನೆಯನ್ನು ಅಡ್ಡಿಪಡಿಸಬಹುದು ಮತ್ತು ಹಲವು ಬಾರಿ ಮುಂದುವರಿಸಬಹುದು. ಪ್ರಕ್ರಿಯೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಪುನರಾರಂಭಿಸಲು, ಅದರ ಕಾರ್ಯಾಚರಣಾ ಪರಿಸರದ ಸ್ಥಿತಿಯನ್ನು ಪುನಃಸ್ಥಾಪಿಸುವುದು ಅವಶ್ಯಕ. ಆಪರೇಟಿಂಗ್ ಪರಿಸರದ ಸ್ಥಿತಿಯನ್ನು ರೆಜಿಸ್ಟರ್‌ಗಳು ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಕೌಂಟರ್‌ನ ಸ್ಥಿತಿ, ಪ್ರೊಸೆಸರ್‌ನ ಆಪರೇಟಿಂಗ್ ಮೋಡ್, ಫೈಲ್‌ಗಳನ್ನು ತೆರೆಯಲು ಪಾಯಿಂಟರ್‌ಗಳು, ಅಪೂರ್ಣ I/O ಕಾರ್ಯಾಚರಣೆಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿ, ನಿರ್ದಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಯಿಂದ ನಿರ್ವಹಿಸಲಾದ ಸಿಸ್ಟಮ್ ಕರೆಗಳ ದೋಷ ಕೋಡ್‌ಗಳು ಇತ್ಯಾದಿಗಳಿಂದ ಗುರುತಿಸಲಾಗುತ್ತದೆ. . d. ಈ ಮಾಹಿತಿಯನ್ನು ಪ್ರಗತಿ ಸಂದರ್ಭ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆಯು ಬದಲಾದಾಗ, ಸಂದರ್ಭ ಸ್ವಿಚ್ ಸಂಭವಿಸುತ್ತದೆ ಎಂದು ಅವರು ಹೇಳುತ್ತಾರೆ. ಹೀಗಾಗಿ, ಪ್ರಕ್ರಿಯೆ ನಿರ್ವಹಣಾ ಉಪವ್ಯವಸ್ಥೆಯು ಪ್ರಕ್ರಿಯೆಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಗದಿಪಡಿಸುತ್ತದೆ, ಅಂದರೆ, ಇದು ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಏಕಕಾಲದಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಹಲವಾರು ಪ್ರಕ್ರಿಯೆಗಳ ನಡುವೆ ಪ್ರೊಸೆಸರ್ ಸಮಯವನ್ನು ವಿತರಿಸುತ್ತದೆ, ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ನಾಶಪಡಿಸುತ್ತದೆ, ಅಗತ್ಯ ಸಿಸ್ಟಮ್ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಪ್ರಕ್ರಿಯೆಗಳ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆಗಳ ನಡುವೆ.

    ಸ್ನೇಹಿತರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಿ ಅಥವಾ ನಿಮಗಾಗಿ ಉಳಿಸಿ:

    ಲೋಡ್ ಆಗುತ್ತಿದೆ...