माइक्रो-कंट्रोलर ऑपरेटिंग सिस्टम: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Real-time operating system}} {{Infobox OS | name = MicroC/OS (μC/OS) | logo = | caption = | developer = Micrium, Inc.,<br/>Silicon Labs | family = | wo...")
 
No edit summary
 
(19 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Short description|Real-time operating system}}
{{Short description|Real-time operating system}}
{{Infobox OS
{{Infobox OS
| name = MicroC/OS (μC/OS)
| name = माइक्रोसी/ओएस (μC/ओएस)
| logo =  
| logo =  
| caption =  
| caption =  
| developer = Micrium, Inc.,<br/>Silicon Labs
| developer = माइक्रियम, इंक.,<br/>Silicon Labs
| family =  
| family =  
| working state = Current
| working state = करंट
| source model = [[Open-source software|Open-source]] as of 2020
| source model = [[Open-source software|खुला स्त्रोत]] के रूप में 2020
| released = {{Start date and age|1991}}
| released = {{Start date and age|1991}}
| latest release version = OS-III
| latest release version = ओएस-III
| latest release date = {{Start date and age|2016}}
| latest release date = {{Start date and age|2016}}
| repo = {{URL|https://github.com/weston-embedded/uC-OS3}}
| repo = {{URL|https://गितहब.कॉम/वेस्टन-एंबेडेड/यूसी-ओएस3}}
| marketing target = [[Embedded device]]s
| marketing target = [एम्बेडेड डिवाइस]]
| programmed in = [[ANSI C]]
| programmed in = [[एएनएसआई सी]]
| language = English
| language = अंग्रेज़ी
| supported platforms = [[ARM Cortex-M#Cortex-M3|ARM Cortex-M3]], [[ARM Cortex-M#Cortex-M4|-M4F]], [[ARM7#ARM7TDMI|ARM7TDMI]]; [[Atmel AVR]]; [[eSi-RISC]], and many others
| supported platforms = [[ARM Cortex-M#Cortex-M3|ARM Cortex-M3]], [[ARM Cortex-M#Cortex-M4|-M4F]], [[ARM7#ARM7TDMI|ARM7TDMI]]; [[Atmel AVR]]; [[eSi-RISC]], and many others
| kernel type = [[Real-time operating system|Real-time]] [[microkernel]]
| kernel type = [[Real-time operating system|वास्तविक-समय]] [[माइक्रोकर्नेल]]
| ui = μC/[[Graphical user interface|GUI]]  
| ui = μसी/[[Graphical user interface|जीयूआई]]  
| license = [[Apache License|Apache]] as of 2020; former [[Commercial software|Commercial]], [[freeware]] education use
| license = [[Apache License|अपेक]] के रूप में 2020; former [[Commercial software|Commercial]], [[freeware]] education use
| website = {{URL|https://weston-embedded.com/micrium/overview}}
| website = {{URL|https://वेस्टन-एम्बेडेड.कॉम/माइक्रोरियम/अवलोकन}}
}}
}}
{{Infobox OS
{{Infobox OS
| name = Micrium OS
| name = माइक्रियम ओएस
| logo =  
| logo =  
| caption =  
| caption =  
| developer = Silicon Labs
| developer = सिलिकॉन प्रयोगशाला
| family =  
| family =  
| working state = Current
| working state = करंट
| source model = [[Open-source software|Open-source]]
| source model = [[Open-source software|खुला स्त्रोत]]
| released = {{Start date and age|2020}}
| released = {{Start date and age|2020}}
| latest release version = Part of Gecko Platform 4.2.0.0,<ref>{{cite web|url=https://www.silabs.com/documents/public/release-notes/gecko-platform-release-notes-4.2.0.0.pdf|title=Gecko Platform 4.2.0.0 GA|access-date=2023-01-04|date=2022-12-14}}</ref> part of Gecko SDK 4.2.0.0<ref>{{cite web|url=https://github.com/SiliconLabs/gecko_sdk/releases|title=gecko_sdk Releases on github.com|website=[[GitHub]] |access-date=2023-01-04}}</ref>
| latest release version = Part of Gecko Platform 4.2.0.0,<ref>{{cite web|url=https://www.silabs.com/documents/public/release-notes/gecko-platform-release-notes-4.2.0.0.pdf|title=Gecko Platform 4.2.0.0 GA|access-date=2023-01-04|date=2022-12-14}}</ref> part of Gecko SDK 4.2.0.0<ref>{{cite web|url=https://github.com/SiliconLabs/gecko_sdk/releases|title=gecko_sdk Releases on github.com|website=[[GitHub]] |access-date=2023-01-04}}</ref>
| latest release date = {{Start date and age|2022|12|14}}
| latest release date = {{Start date and age|2022|12|14}}
| repo = {{URL|https://github.com/SiliconLabs/gecko_sdk/tree/gsdk_4.2/platform/micrium_os}}
| repo = {{URL|https://github.com/SiliconLabs/gecko_sdk/tree/gsdk_4.2/platform/micrium_os}}
| marketing target = [[Embedded device]]s
| marketing target = [[एंबेडेड डिवाइस]]
| programmed in = [[ANSI C]]
| programmed in = [[एएनएसआई सी]]
| language = English
| language = अंग्रेज़ी
| supported platforms = exclusively Silicon Labs silicon
| supported platforms = विशेष रूप से सिलिकॉन प्रयोगशाला सिलिकॉन
| kernel type = [[Real-time operating system|Real-time]] [[microkernel]]
| kernel type = [[Real-time operating system|वास्तविक-समय]] [[माइक्रोकर्नेल]]
| license = [[Apache License|Apache]]
| license = [[Apache License|अपेक]]
| website = {{URL|https://www.silabs.com/developers/micrium-os}}
| website = {{URL|https://डब्लूडब्लूडब्लू.सीलैब्स.कॉम/डेवलपर्स/माइक्रोरियम-ओएस}}
}}
}}
{{Infobox OS
{{Infobox OS
| name = Cesium RTOS
| name = सीज़ियम आरटीओएस
| logo =  
| logo =  
| caption =  
| caption =  
| developer = Weston Embedded Solutions
| developer = वेस्टन एंबेडेड सॉल्यूशंस
| family =  
| family =  
| working state = Current
| working state = करंट
| source model = [[Commercial software|Commercial]]
| source model = [[Commercial software|व्यावसायिक]]
| released = {{Start date and age|2020|06|23}} (forked from uC/OS-III V3.08.00)<ref name=cesium_changelog>{{cite web|url=https://weston-embedded.com/cesium-release-notes/cs-os3-release-notes|title=Cs/OS3 Release Notes|publisher= Weston Embedded Solutions}}</ref>
| released = {{Start date and age|2020|06|23}} (forked from uC/OS-III V3.08.00)<ref name=cesium_changelog>{{cite web|url=https://weston-embedded.com/cesium-release-notes/cs-os3-release-notes|title=Cs/OS3 Release Notes|publisher= Weston Embedded Solutions}}</ref>
| latest release version = Cs/OS3 3.09.01<ref name=cesium_changelog />
| latest release version = सीएस/ओएस3 3.09.01<ref name=cesium_changelog />
| latest release date = {{Start date and age|2022|12|21}}<ref name=cesium_changelog />
| latest release date = {{Start date and age|2022|12|21}}<ref name=cesium_changelog />
| marketing target = [[Embedded device]]s
| marketing target = [[एंबेडेड डिवाइस]]
| programmed in = [[ANSI C]]
| programmed in = [[एएनएसआई सी]]
| language = English
| language = अंग्रेज़ी
| supported platforms = 50+ unclear whether there is a 1-to-1 overlap with μC/OS
| supported platforms = 50+ यह स्पष्ट नहीं है कि μC/OS के साथ 1-टू-1 ओवरलैप है या नहीं
| kernel type = [[Real-time operating system|Real-time]] [[microkernel]]
| kernel type = [[Real-time operating system|वास्तविक-समय]] [[माइक्रोकर्नेल]]
| license = [[Commercial software|Commercial]]
| license = [[Commercial software|व्यावसायिक]]
| website = {{URL|weston-embedded.com/products/cesium}}
| website = {{URL|वेस्टन-एम्बेडेड.कॉम/उत्पाद/सीज़ियम}}
}}
}}
माइक्रो-कंट्रोलर ऑपरेटिंग सिस्टम (MicroC/OS, जिसे μC/OS, या माइक्रीम OS के रूप में शैलीबद्ध किया गया है) एक [[रीयल-टाइम ऑपरेटिंग सिस्टम]] (RTOS) है जिसे 1991 में जीन जे. लेब्रोस द्वारा डिज़ाइन किया गया था। यह एक प्राथमिकता-आधारित प्रीमेशन (कंप्यूटिंग) रियल है। [[रीयल-टाइम कंप्यूटिंग]] | [[माइक्रोप्रोसेसर]]ों के लिए रीयल-टाइम कर्नेल, ज्यादातर प्रोग्रामिंग भाषा [[सी (प्रोग्रामिंग भाषा)]] में लिखा गया है। यह [[ अंतः स्थापित प्रणाली ]] में उपयोग के लिए अभिप्रेत है।
''' माइक्रो-कंट्रोलर ऑपरेटिंग सिस्टम''' (माइक्रोसी/ओएस, जिसे '''μ सी/ओएस''' या '''माइक्रीम ओएस''' के रूप में शैलीबद्ध किया गया है) [[रीयल-टाइम ऑपरेटिंग सिस्टम|वास्तविक-समय ऑपरेटिंग प्रणाली]] (आरटीओएस) होता है, जिसे सन्न 1991 में जीन जे. लेब्रोस द्वारा डिज़ाइन किया गया था। इस प्रकार यह प्राथमिकता-आधारित प्रीमेशन (कंप्यूटिंग) वास्तविक कर्नेल है। चूँकि [[माइक्रोप्रोसेसर]] के लिए वास्तविक-समय कर्नेल, अधिकांशतः प्रोग्रामिंग भाषा [[सी (प्रोग्रामिंग भाषा)]] में लिखा जाता है। [[ अंतः स्थापित प्रणाली |अंतः]] यह [[ अंतः स्थापित प्रणाली |स्थापित प्रणाली]] में उपयोग के लिए होता है।
 
माइक्रोसी/ओएस सी में कई कार्यों को परिभाषित करने की अनुमति देता है, जिनमें से प्रत्येक एक स्वतंत्र थ्रेड या कार्य के रूप में निष्पादित हो सकता है। प्रत्येक कार्य एक अलग प्राथमिकता पर चलता है, और चलता है जैसे कि वह [[सेंट्रल प्रोसेसिंग यूनिट]] (सीपीयू) का स्वामी है। कम प्राथमिकता वाले कार्यों को किसी भी समय उच्च प्राथमिकता वाले कार्यों से छूट दी जा सकती है। उच्च प्राथमिकता वाले कार्य निम्न प्राथमिकता वाले कार्यों को निष्पादित करने की अनुमति देने के लिए ऑपरेटिंग सिस्टम (OS) सेवाओं (जैसे विलंब या घटना) का उपयोग करते हैं। ओएस सेवाएं कार्यों और मेमोरी के प्रबंधन, कार्यों के बीच संचार और समय के लिए प्रदान की जाती हैं।<ref>{{cite web |url=http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/ |title=NiosII GCC with MicroC/OS |author=<!--Unstated--> |date=June 2006 |website=School of Electrical and Computer Engineering |publisher=Cornell University |access-date=25 April 2017}}</ref>
 


माइक्रोसी/ओएस सी में अनेक कार्यों को परिभाषित करने की अनुमति देता है, जिनमें से प्रत्येक स्वतंत्र थ्रेड या कार्य के रूप में निष्पादित हो सकता है। प्रत्येक कार्य भिन्न प्राथमिकता पर चलता है और ऐसे चलता है जैसे कि वह [[सेंट्रल प्रोसेसिंग यूनिट]] (सीपीयू) का मालिक होता है। इस प्रकार कम प्राथमिकता वाले कार्यों को किसी भी समय उच्च प्राथमिकता वाले कार्यों से छूट दी जा सकती है। चूँकि उच्च प्राथमिकता वाले कार्य निम्न प्राथमिकता वाले कार्यों को निष्पादित करने की अनुमति देने के लिए ऑपरेटिंग प्रणाली (ओएस) सेवाओं (जैसे देरी या घटना) का उपयोग करते हैं। अतः ओएस सेवाएं कार्यों और मेमोरी के प्रबंधन कार्यों के मध्य संचार और समय निर्धारण के लिए प्रदान की जाती हैं।<ref>{{cite web |url=http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/ |title=NiosII GCC with MicroC/OS |author=<!--Unstated--> |date=June 2006 |website=School of Electrical and Computer Engineering |publisher=Cornell University |access-date=25 April 2017}}</ref>
== इतिहास ==
== इतिहास ==
MicroC/OS कर्नेल मूल रूप से एंबेडेड सिस्टम्स प्रोग्रामिंग पत्रिका में तीन-भाग के लेख और Labrosse द्वारा μC/OS द रियल-टाइम कर्नेल में प्रकाशित किया गया था।<ref>{{cite book |last=Labrosse |first=Jean J. |date=15 June 2002 |title=μC/OS The Real-Time Kernel |edition=2nd |publisher=CRC Press |isbn=978-1578201037}}</ref> उन्होंने पहले अपने स्वयं के उपयोग के लिए विकसित एक [[सॉफ्टवेयर पोर्टेबिलिटी]] ओएस के इंटर्नल का वर्णन करने का इरादा किया था, लेकिन बाद में इसे संस्करण II और III में अपनी कंपनी माइक्रियम, इंक में एक वाणिज्यिक उत्पाद के रूप में विकसित किया।
माइक्रोसी/ओएस कर्नेल मूल रूप से एंबेडेड प्रणाली प्रोग्रामिंग पत्रिका में तीन-भाग वाले लेख और लेब्रोसे की पुस्तक द्वारा μ सी/ओएस वास्तविक-समय कर्नेल में प्रकाशित किया गया था।<ref>{{cite book |last=Labrosse |first=Jean J. |date=15 June 2002 |title=μC/OS The Real-Time Kernel |edition=2nd |publisher=CRC Press |isbn=978-1578201037}}</ref> उन्होंने पहले अपने स्वयं के उपयोग के लिए विकसित [[सॉफ्टवेयर पोर्टेबिलिटी]] ओएस के आंतरिक विवरण का वर्णन किया था, जिसे उन्होंने अपने उपयोग के लिए विकसित किया था, किन्तु बाद में इसे संस्करण II और III में अपनी कंपनी माइक्रियम, इंक में वाणिज्यिक उत्पाद के रूप में विकसित किया गया था।
 
2016 में सिलिकॉन प्रयोगशालाओं द्वारा माइक्रीम, इंक। का अधिग्रहण किया गया था<ref>{{cite web|url=https://weston-embedded.com/about-micrium|title=What is Micrium?|access-date=2023-01-04|publisher=Weston Embedded Solutions}}</ref> और इसे बाद में [[अपाचे लाइसेंस]] के तहत ओपन-सोर्स के रूप में जारी किया गया।
 
सिलिकॉन लैब्स अपने स्वयं के सिलिकॉन पर उपयोग के लिए माइक्रीम ओएस नामक ओपन-सोर्स उत्पाद को बनाए रखना जारी रखती है<ref>{{cite web|url=https://www.silabs.com/developers/micrium|title=माइक्रोरियम सॉफ्टवेयर और दस्तावेज़ीकरण|access-date=2023-01-04}}</ref> और माइक्रीम, इंक. के पूर्व कर्मचारियों का एक समूह (लैब्रोस सहित) μC/OS और सीज़ियम आरटीओएस दोनों के लिए परामर्श और समर्थन प्रदान करता है, ओपन-सोर्स रिलीज के ठीक बाद बनाया गया एक मालिकाना फोर्क।<ref>{{cite web|url=https://weston-embedded.com/why-cesium|title=Why Cesium RTOS?|access-date=2023-01-04|publisher= Weston Embedded Solutions}}</ref>


सन्न 2016 में माइक्रीम, इंक को सिलिकॉन प्रयोगशालाओं द्वारा अधिग्रहण किया गया था<ref>{{cite web|url=https://weston-embedded.com/about-micrium|title=What is Micrium?|access-date=2023-01-04|publisher=Weston Embedded Solutions}}</ref> और इसे बाद में [[अपाचे लाइसेंस]] के अनुसार खुले स्त्रोत के रूप में जारी किया गया था।


==μC/OS-II ==
सिलिकॉन प्रयोगशाला अपने स्वयं के सिलिकॉन पर उपयोग के लिए माइक्रीम ओएस नामक खुला स्त्रोत उत्पाद को बनाए रखना जारी रखती है<ref>{{cite web|url=https://www.silabs.com/developers/micrium|title=माइक्रोरियम सॉफ्टवेयर और दस्तावेज़ीकरण|access-date=2023-01-04}}</ref> और माइक्रीम, इंक. के पूर्व कर्मचारियों का समूह (प्रयोगशाला्रोस सहित) μ सी/ओएसऔर सीज़ियम आरटीओएस दोनों के लिए परामर्श और सहायता प्रदान करता है। इस प्रकार खुले स्त्रोत रिलीज के ठीक पश्चात् मालिकाना फोर्क समर्थन प्रदान करता है।<ref>{{cite web|url=https://weston-embedded.com/why-cesium|title=Why Cesium RTOS?|access-date=2023-01-04|publisher= Weston Embedded Solutions}}</ref>
μC/OS के लिए लिखे गए स्रोत कोड के आधार पर, और 1998 में एक वाणिज्यिक उत्पाद के रूप में पेश किया गया, μC/OS-II एक सॉफ्टवेयर पोर्टेबिलिटी, रोम-सक्षम, [[ मापनीय ]], प्रीमेप्टिव, रियल-टाइम, नियतात्मक, मल्टीटास्किंग [[कर्नेल (ऑपरेटिंग सिस्टम)]] है। माइक्रोप्रोसेसरों और [[डिजिटल सिग्नल प्रोसेसर]] (डीएसपी) के लिए। यह 64 कार्यों तक का प्रबंधन करता है। इसका आकार बढ़ाया जा सकता है (5 और 24 किलोबाइट्स के बीच) केवल किसी दिए गए उपयोग के लिए आवश्यक सुविधाओं को शामिल करने के लिए।
==μ सी/ओएस-II ==
μ सी/ओएस के लिए लिखे गए स्रोत कोड के आधार पर और सन्न 1998 में वाणिज्यिक उत्पाद के रूप में प्रस्तुत किया गया था, अतः μ सी/ओएस-II सॉफ्टवेयर सुवाह्यता, रोम-सक्षम, [[ मापनीय |मापनीय]] , रिक्तिपूर्व, वास्तविक-समय, नियतात्मक, मल्टीटास्किंग [[कर्नेल (ऑपरेटिंग सिस्टम)|कर्नेल (ऑपरेटिंग प्रणाली)]] है। इस प्रकार माइक्रोप्रोसेसरों और [[डिजिटल सिग्नल प्रोसेसर]] (डीएसपी) के लिए यह 64 कार्यों तक का प्रबंधन करता है। इसके आकार को केवल किसी दिए गए उपयोग के लिए आवश्यक सुविधाओं को सम्मिलित करने के लिए (5 और 24 किलोबाइट्स के मध्य) बढ़ाया जा सकता है।


अधिकांश μC/OS-II अत्यधिक पोर्टेबल [[ANSI C]] में लिखे गए हैं, जिसमें लक्ष्य माइक्रोप्रोसेसर-विशिष्ट कोड असेंबली भाषा में लिखा गया है। दूसरे प्रोसेसर में [[ में porting ]] को आसान बनाने के लिए बाद वाले का उपयोग कम से कम किया जाता है।
अधिकांश μ सी/ओएस-II अत्यधिक पोर्टेबल [[ANSI C|एएनएसआई सी]] में लिखे गए हैं, जिसमें लक्ष्य माइक्रोप्रोसेसर-विशिष्ट कोड असेंबली भाषा में लिखा गया है। इस प्रकार अन्य प्रोसेसर [[ में porting |पोर्टिंग]] को सुविधाजनक बनाने के लिए बाद वाले का उपयोग कम से कम किया जाता है।


=== एम्बेडेड सिस्टम में उपयोग ===
=== एम्बेडेड प्रणाली में उपयोग ===
μC/OS-II एम्बेडेड उपयोगों के लिए डिज़ाइन किया गया था। यदि निर्माता के पास उचित टूल चेन (यानी, सी कंपाइलर, असेंबलर और लिंकर-लोकेटर) है, तो μC/OS-II को उत्पाद के हिस्से के रूप में एम्बेड किया जा सकता है।
μ सी/ओएस-II एम्बेडेड उपयोगों के लिए डिज़ाइन किया गया था। यदि निर्माता के समीप उचित उपकरण श्रृंखला (अर्थात्, सी कंपाइलर, असेंबलर और लिंकर-लोकेटर) होते है, तब μसी/ओएस-II को उत्पाद के भाग के रूप में एम्बेड किया जा सकता है।


μC/OS-II का उपयोग कई एम्बेडेड सिस्टम में किया जाता है, जिनमें निम्न शामिल हैं:
μ सी/ओएस-II का उपयोग अनेक एम्बेडेड प्रणाली में किया जाता है, जिनमें निम्न प्रणाली सम्मिलित होती हैं।
* [[वैमानिकी]]
* [[वैमानिकी]]
* चिकित्सा उपकरण और उपकरण
* चिकित्सा उपकरण और उपकरण
Line 92: Line 88:


=== टास्क स्टेट्स ===
=== टास्क स्टेट्स ===
μC/OS-II एक [[कंप्यूटर मल्टीटास्किंग]] ऑपरेटिंग सिस्टम है। प्रत्येक कार्य एक अनंत लूप है और निम्नलिखित पांच राज्यों में से किसी एक में हो सकता है (नीचे चित्र देखें)
μ सी/ओएस-II [[कंप्यूटर मल्टीटास्किंग]] ऑपरेटिंग प्रणाली होती है। चूँकि प्रत्येक कार्य अनंत लूप होते है और निम्नलिखित पांच अवस्थाओं में से किसी में हो सकता है। (नीचे चित्र देखें)
*प्रसुप्त
*प्रसुप्त
*तैयार
*तैयार
*दौड़ना
*दौड़ना
* प्रतीक्षा (एक घटना के लिए)
* प्रतीक्षा (घटना के लिए)
*बाधित ([[इंटरप्ट हैंडलर]] (ISR))
*बाधित ([[इंटरप्ट हैंडलर]] (आईएसआर))
इसके अलावा, यह 64 कार्यों तक का प्रबंधन कर सकता है। हालाँकि, यह अनुशंसा की जाती है कि इनमें से आठ कार्यों को μC/OS-II के लिए आरक्षित किया जाए, एक आवेदन को 56 कार्यों तक छोड़ दिया जाए।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=77|edition=2nd}}</ref>
इसके अतिरिक्त, यह 64 कार्यों तक का प्रबंधन कर सकता है। चूँकि, यह अनुशंसा की जाती है कि इनमें से आठ कार्यों को μ सी/ओएस-II के लिए आरक्षित किया जाता है, अतः एप्लिकेशन को 56 कार्यों तक छोड़ दिया जाता है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=77|edition=2nd}}</ref>
 
=== कर्नेल ===
 
कर्नेल (ऑपरेटिंग प्रणाली) उस प्रोग्राम को दिया गया नाम होता है, जो ऑपरेटिंग प्रणाली के अधिकांश गृह व्यवस्था का कार्य करता है। इस प्रकार बूट लोडर कर्नेल को नियंत्रित करता है, जो विभिन्न उपकरणों को ज्ञात अवस्था में प्रारंभ करता है और कंप्यूटर को सामान्य संचालन के लिए तैयार करता है।<ref>[[Wikiversity:Operating Systems/Kernel Models#Monolithic Kernel]]</ref> जिससे कि कर्नेल कार्यों के प्रबंधन (अर्थात्, सीपीयू के समय के प्रबंधन के लिए) और कार्यों के मध्य संचार करने के लिए भागीदार होते है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=39|edition=2nd}}</ref> अतः कर्नेल द्वारा प्रदान की जाने वाली मूलभूत सेवा [[संदर्भ स्विच|संदर्भ स्विचिंग]] होती है।
=== गुठली ===
कर्नेल (ऑपरेटिंग सिस्टम) उस प्रोग्राम को दिया गया नाम है जो ऑपरेटिंग सिस्टम के अधिकांश हाउसकीपिंग कार्य करता है। बूट लोडर कर्नेल को नियंत्रित करता है, जो विभिन्न उपकरणों को एक ज्ञात अवस्था में प्रारंभ करता है और कंप्यूटर को सामान्य संचालन के लिए तैयार करता है।<ref>[[Wikiversity:Operating Systems/Kernel Models#Monolithic Kernel]]</ref> कर्नेल कार्यों के प्रबंधन (यानी, CPU के समय के प्रबंधन के लिए) और कार्यों के बीच संचार करने के लिए जिम्मेदार है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=39|edition=2nd}}</ref> कर्नेल द्वारा प्रदान की जाने वाली मूलभूत सेवा [[संदर्भ स्विच]]िंग है।


[[अनुसूचक]] कर्नेल का वह हिस्सा है जो यह निर्धारित करने के लिए जिम्मेदार है कि कौन सा कार्य आगे चलता है।<ref name="LabrosseP40">{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=40|edition=2nd}}</ref> अधिकांश रीयल-टाइम कर्नेल प्राथमिकता आधारित होते हैं। प्राथमिकता-आधारित कर्नेल में, CPU का नियंत्रण हमेशा चलने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को दिया जाता है। दो प्रकार की प्राथमिकता-आधारित गुठली मौजूद हैं: कंप्यूटर मल्टीटास्किंग # सहकारी मल्टीटास्किंग | गैर-प्रीमेप्टिव और प्रीमेशन (कंप्यूटिंग)अप्रतिबंधित गुठली की आवश्यकता है कि प्रत्येक कार्य सीपीयू के नियंत्रण को स्पष्ट रूप से छोड़ने के लिए कुछ करे।<ref name="LabrosseP40" />प्रीमेप्टिव कर्नेल का उपयोग तब किया जाता है जब सिस्टम की जवाबदेही अधिक महत्वपूर्ण होती है। इस प्रकार, μC/OS-II और अधिकांश व्यावसायिक रीयल-टाइम कर्नेल प्रीमेप्टिव हैं।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=42|edition=2nd}}</ref> चलाने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को हमेशा CPU का नियंत्रण दिया जाता है।
[[अनुसूचक]] कर्नेल का वह भाग होता है जो यह निर्धारित करने के लिए भागीदार होता है कि कौन सा कार्य आगे चलता है।<ref name="LabrosseP40">{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=40|edition=2nd}}</ref> अधिकांश वास्तविक-समय कर्नेल प्राथमिकता आधारित होते हैं। इस प्रकार प्राथमिकता-आधारित कर्नेल में, सीपीयू का नियंत्रण हमेशा चलने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को दिया जाता है। चूँकि दो प्रकार की प्राथमिकता-आधारित कर्नेल उपस्तिथ हैं। अतः कंप्यूटर मल्टीटास्किंग सहकारी मल्टीटास्किंग गैर-रिक्तिपूर्व और प्रीमेशन (कंप्यूटिंग) अप्रतिबंधित कर्नेल की आवश्यकता होती है कि प्रत्येक कार्य सीपीयू के नियंत्रण को स्पष्ट रूप से छोड़ने के लिए कुछ करते है।<ref name="LabrosseP40" /> रिक्तिपूर्व कर्नेल का उपयोग तब किया जाता है जब प्रणाली प्रतिक्रिया अधिक महत्वपूर्ण होती है। इस प्रकार, μ सी/ओएस-II और अधिकांश व्यावसायिक वास्तविक-समय कर्नेल रिक्तिपूर्व होते हैं।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|page=42|edition=2nd}}</ref> इस प्रकार चलाने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को हमेशा सीपीयू का नियंत्रण दिया जाता है।


=== कार्य सौंपना ===
=== कार्य सौंपना ===
निष्पादन की उच्चतम दर वाले कार्यों को [[दर-मोनोटोनिक शेड्यूलिंग]] का उपयोग करके सर्वोच्च प्राथमिकता दी जाती है।<ref>{{cite journal|last1=Liu|first1=Chung Lang|last2=Layland|first2=James W.|title=एक कठिन रीयल-टाइम वातावरण में मल्टीप्रोग्रामिंग के लिए शेड्यूलिंग एल्गोरिदम|journal=Journal of the ACM |volume=20|issue=1|pages=46–61|doi=10.1145/321738.321743|year=1973|citeseerx=10.1.1.36.8216|s2cid=59896693 }}</ref> यह शेड्यूलिंग एल्गोरिदम रीयल-टाइम ऑपरेटिंग सिस्टम (आरटीओएस) में [[स्थिर-प्राथमिकता शेड्यूलिंग वर्ग]] के साथ उपयोग किया जाता है।<ref>{{cite web|last1=Bovet |first1=Daniel |title=लिनक्स कर्नेल को समझना|url=http://oreilly.com/catalog/linuxkernel/chapter/ch10.html#85347 |url-status=dead |archiveurl=https://web.archive.org/web/20140921000832/http://oreilly.com/catalog/linuxkernel/chapter/ch10.html |archivedate=2014-09-21 }}</ref>
निष्पादन की उच्चतम दर वाले कार्यों को [[दर-मोनोटोनिक शेड्यूलिंग|दर-मोनोटोनिक योजनाबद्धता]] का उपयोग करके सर्वोच्च प्राथमिकता दी जाती है।<ref>{{cite journal|last1=Liu|first1=Chung Lang|last2=Layland|first2=James W.|title=एक कठिन रीयल-टाइम वातावरण में मल्टीप्रोग्रामिंग के लिए शेड्यूलिंग एल्गोरिदम|journal=Journal of the ACM |volume=20|issue=1|pages=46–61|doi=10.1145/321738.321743|year=1973|citeseerx=10.1.1.36.8216|s2cid=59896693 }}</ref> यह योजनाबद्धता एल्गोरिदम वास्तविक-समय ऑपरेटिंग प्रणाली (आरटीओएस) में [[स्थिर-प्राथमिकता शेड्यूलिंग वर्ग|स्थिर-प्राथमिकता योजनाबद्धता वर्ग]] के साथ उपयोग किया जाता है।<ref>{{cite web|last1=Bovet |first1=Daniel |title=लिनक्स कर्नेल को समझना|url=http://oreilly.com/catalog/linuxkernel/chapter/ch10.html#85347 |url-status=dead |archiveurl=https://web.archive.org/web/20140921000832/http://oreilly.com/catalog/linuxkernel/chapter/ch10.html |archivedate=2014-09-21 }}</ref>
 
=== कार्यों का प्रबंधन ===
[[ कम्प्यूटिंग |कम्प्यूटिंग]] में, कार्य निष्पादन की इकाई होती है। चूँकि कुछ [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] में, कार्य [[प्रक्रिया (कंप्यूटिंग)]] का पर्याय होता है, अतः दूसरों में [[थ्रेड (कंप्यूटिंग)]] के साथ [[ प्रचय संसाधन |प्रचय संसाधन]] कंप्यूटर प्रणाली में, कार्य [[जॉब स्ट्रीम]] के अंदर निष्पादन की इकाई होती है।


=== कार्यों का प्रबंधन ===
μ सी/ओएस-II का प्रणाली उपयोगकर्ता निम्नलिखित विशेषताओं का उपयोग करके कार्यों को नियंत्रित करने में सक्षम होता है।
[[ कम्प्यूटिंग ]] में, कार्य निष्पादन की एक इकाई है। कुछ [[ऑपरेटिंग सिस्टम]] में, एक कार्य एक [[प्रक्रिया (कंप्यूटिंग)]] का पर्याय है, दूसरों में एक [[थ्रेड (कंप्यूटिंग)]] के साथ। [[ प्रचय संसाधन ]] कंप्यूटर सिस्टम में, कार्य एक [[जॉब स्ट्रीम]] के भीतर निष्पादन की एक इकाई है।
μC/OS-II का सिस्टम उपयोगकर्ता निम्नलिखित विशेषताओं का उपयोग करके कार्यों को नियंत्रित करने में सक्षम है:
* कार्य सुविधा
* कार्य सुविधा
*कार्य निर्माण
*कार्य निर्माण
Line 118: Line 111:
* टास्क विलोपन
* टास्क विलोपन
* किसी कार्य की प्राथमिकता बदलें
* किसी कार्य की प्राथमिकता बदलें
* निलंबित करें और किसी कार्य को फिर से शुरू करें
* निलंबित करें और किसी कार्य को फिर से प्रारंभ करें
* किसी कार्य के बारे में जानकारी प्राप्त करें<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=45–49|edition=2nd}}</ref>
* किसी कार्य के बारे में जानकारी प्राप्त करें<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=45–49|edition=2nd}}</ref>
=== स्मृति प्रबंधन ===
=== स्मृति प्रबंधन ===
[[विखंडन (कंप्यूटिंग)]] से बचने के लिए, μC/OS-II अनुप्रयोगों को एक मेमोरी प्रबंधन (ऑपरेटिंग सिस्टम) से निश्चित आकार के मेमोरी ब्लॉक प्राप्त करने की अनुमति देता है #एक सन्निहित मेमोरी क्षेत्र से बना विभाजन आवंटन। सभी मेमोरी ब्लॉक एक ही आकार के होते हैं, और विभाजन में ब्लॉकों की एक [[अभिन्न]] संख्या होती है। इन मेमोरी ब्लॉकों का आवंटन और विलोपन निरंतर समय में किया जाता है और यह एक [[नियतात्मक प्रणाली]] है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=273–285|edition=2nd}}</ref>
[[विखंडन (कंप्यूटिंग)]] से बचने के लिए, μ सी/ओएस-II अनुप्रयोगों को मेमोरी प्रबंधन (ऑपरेटिंग प्रणाली) से निश्चित आकार के मेमोरी ब्लॉक प्राप्त करने की अनुमति देता है। इस प्रकार सभी मेमोरी ब्लॉक समान आकार के होते हैं और विभाजन में ब्लॉक की अभिन्न संख्या होती है। इन मेमोरी ब्लॉकों का आवंटन और विलोपन निरंतर समय में किया जाता है और यह [[नियतात्मक प्रणाली]] होती है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=273–285|edition=2nd}}</ref>
=== समय प्रबंधन ===
μ सी/ओएस-II के लिए यह आवश्यक होता है कि समय की देरी और समयआउट का ट्रैक रखने के लिए आवधिक समय स्रोत प्रदान किया जाता है। इस प्रकार टिक 10 से 1000 बार प्रति सेकंड या [[ हेटर्स |हेटर्स]] के मध्य होता है। जिससे कि तेज़ टिक दर, अधिक [[ओवरहेड (कंप्यूटिंग)]] μ सी/ओएस-II प्रणाली पर लगाता है। चूँकि घड़ी की टिक-टिक की आवृत्ति किसी एप्लिकेशन के वांछित टिक संकल्प पर निर्भर करती है। इस प्रकार टिक स्रोत हार्डवेयर समयर समर्पित करके या [[प्रत्यावर्ती धारा]] (ए सी) विद्युत रेखा (50 या 60 हर्ट्ज) सिग्नल से व्यवधान उत्पन्न करके प्राप्त किया जा सकता है। इस आवधिक समय स्रोत को घड़ी की टिक-टिक कहा जाता है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=145–152|edition=2nd}}</ref>


घड़ी की टिक निर्धारित होने के पश्चात्, कार्य निम्न हो सकते हैं।
*किसी कार्य में देरी करना
* रुके हुए कार्य को पुनः प्रारंभ करें


=== समय प्रबंधन ===
=== कार्यों के मध्य संचार ===
μC/OS-II के लिए आवश्यक है कि समय की देरी और टाइमआउट का ट्रैक रखने के लिए एक आवधिक समय स्रोत प्रदान किया जाए। एक टिक 10 से 1000 बार प्रति सेकंड या [[ हेटर्स ]]़ के बीच होना चाहिए। तेज़ टिक दर, अधिक [[ओवरहेड (कंप्यूटिंग)]] μC/OS-II सिस्टम पर लगाता है। क्लॉक टिक की आवृत्ति किसी एप्लिकेशन के वांछित टिक रिज़ॉल्यूशन पर निर्भर करती है। टिक स्रोत एक हार्डवेयर टाइमर समर्पित करके, या एक [[प्रत्यावर्ती धारा]] (AC) पावर लाइन (50 या 60 Hz) सिग्नल से व्यवधान उत्पन्न करके प्राप्त किया जा सकता है। इस आवधिक समय स्रोत को क्लॉक टिक कहा जाता है।<ref>{{cite book|last=Labrosse|first=Jean J.|title=MicroC/OS-II: The Real Time Kernel|pages=145–152|edition=2nd}}</ref>
μ सी/ओएस-II में इंटरटास्क या इंटरप्रोसेस संचार होता है। इस प्रकार [[सेमाफोर (प्रोग्रामिंग)]], संदेश मेलबॉक्स, संदेश कतार, कार्य और अन्तरायन प्रहस्तक (आईएसआर) जब कोई कार्य या आईएसआर घटना नियंत्रण बाधा (ईसीबी) नामक कर्नेल ऑब्जेक्ट के माध्यम से किसी कार्य को संकेत देता है तब वह एक-दूसरे के साथ बातचीत कर सकते हैं। अतः संकेत को घटना माना जाता है।
घड़ी की टिक निर्धारित होने के बाद, कार्य निम्न हो सकते हैं:
*किसी काम में देरी करना
* रुके हुए कार्य को फिर से शुरू करें


=== कार्यों के बीच संचार ===
==μ सी/ओएस-III ==
μC/OS-II में इंटरटास्क या इंटरप्रोसेस संचार होता है: [[सेमाफोर (प्रोग्रामिंग)]], संदेश मेलबॉक्स, संदेश कतार, कार्य और इंटरप्ट हैंडलर (आईएसआर)। वे एक दूसरे के साथ बातचीत कर सकते हैं जब कोई कार्य या आईएसआर एक ईवेंट कंट्रोल ब्लॉक (ईसीबी) नामक कर्नेल ऑब्जेक्ट के माध्यम से कार्य को संकेत देता है। संकेत को एक घटना माना जाता है।
μ सी/ओएस-III माइक्रो-कंट्रोलर ऑपरेटिंग प्रणाली वर्जन 3 का संक्षिप्त रूप होता है, जिसे सन्न 2009 में प्रस्तुत किया गया था और μ सी/ओएस-II आरटी ओएस में कार्यक्षमता जोड़ता है।


==μC/OS-III ==
μ सी/ओएस-III μ सी/ओएस-II की सभी विशेषताएं और कार्य प्रदान करता है। जिससे कि सबसे बड़ा अंतर समर्थित कार्यों की संख्या होती है। इस प्रकार μ सी/ओएस-II अधिकतम 255 कार्यों के लिए 255 प्राथमिकता स्तरों में से प्रत्येक पर केवल 1 कार्य की अनुमति देता है। चूँकि μ सी/ओएस-III किसी भी संख्या में एप्लिकेशन कार्यों, प्राथमिकता स्तरों और प्रति स्तर कार्यों की अनुमति देता है, अतः केवल मेमोरी तक प्रोसेसर पहुंच द्वारा सीमित होता है।<ref>{{cite web |url=http://micrium.com/rtos/ucosiii/rtos-comparison/ |title=μC/OS-II and μC/OS-III Features Comparison |website=Micrium}}</ref><ref>{{cite web |url=http://micrium.com/rtos/ucosiii/overview/ |title=μC/OS-III overview |website=Micrium}}</ref>
μC/OS-III माइक्रो-कंट्रोलर ऑपरेटिंग सिस्टम वर्जन 3 का संक्षिप्त रूप है, जिसे 2009 में पेश किया गया था और μC/OS-II RTOS में कार्यक्षमता जोड़ता है।


μC/OS-III μC/OS-II की सभी विशेषताएं और कार्य प्रदान करता है। सबसे बड़ा अंतर समर्थित कार्यों की संख्या है। μC/OS-II अधिकतम 255 कार्यों के लिए 255 प्राथमिकता स्तरों में से प्रत्येक पर केवल 1 कार्य की अनुमति देता है। μC/OS-III किसी भी संख्या में एप्लिकेशन कार्यों, प्राथमिकता स्तरों और प्रति स्तर कार्यों की अनुमति देता है, केवल मेमोरी तक प्रोसेसर पहुंच द्वारा सीमित।<ref>{{cite web |url=http://micrium.com/rtos/ucosiii/rtos-comparison/ |title=μC/OS-II and μC/OS-III Features Comparison |website=Micrium}}</ref><ref>{{cite web |url=http://micrium.com/rtos/ucosiii/overview/ |title=μC/OS-III overview |website=Micrium}}</ref>
μ सी/ओएस-II और μ सी/ओएस-III का रखरखाव वर्तमान में सिलिकॉन प्रयोगशाला की सहायक कंपनी माइक्रियम, इंक. द्वारा किया जाता है और इसे प्रति उत्पाद या प्रति उत्पाद रेखा के लिए अनुज्ञप्ति प्राप्त किया जा सकता है।
μC/OS-II और μC/OS-III वर्तमान में सिलिकॉन लैब्स की सहायक कंपनी माइक्रियम, इंक द्वारा बनाए रखा जाता है, और प्रति उत्पाद या प्रति उत्पाद लाइन लाइसेंस प्राप्त किया जा सकता है।


===एम्बेडेड सिस्टम्स में उपयोग ===
===एम्बेडेड प्रणाली में उपयोग ===
उपयोग μC/OS-II के समान हैं
इसका उपयोग μ सी/ओएस-II के समान ही होता हैं।


=== टास्क स्टेट्स ===
=== टास्क स्टेट्स ===
μC/OS-III एक कंप्यूटर मल्टीटास्किंग ऑपरेटिंग सिस्टम है। प्रत्येक कार्य एक अनंत लूप है और पांच राज्यों में से किसी एक में हो सकता है (निष्क्रिय, तैयार, चल रहा है, बाधित, या लंबित)। टास्क प्राथमिकताएं 0 (सर्वोच्च प्राथमिकता) से लेकर अधिकतम 255 (न्यूनतम संभव प्राथमिकता) तक हो सकती हैं।
μ सी/ओएस-III कंप्यूटर मल्टीटास्किंग ऑपरेटिंग प्रणाली होती है, जिसमे प्रत्येक कार्य अनंत लूप होते है और पांच अवस्थाओं में से किसी में हो सकता है (निष्क्रिय, तैयार, चल रहा है, बाधित, या लंबित)। इस प्रकार कार्य प्राथमिकताएं 0 (सर्वोच्च प्राथमिकता) से लेकर अधिकतम 255 (न्यूनतम संभव प्राथमिकता) तक हो सकती हैं।


=== [[राउंड रॉबिन शेड्यूलिंग]] ===
=== [[राउंड रॉबिन शेड्यूलिंग|राउंड रॉबिन योजनाबद्धता]] ===
जब दो या दो से अधिक कार्यों की समान प्राथमिकता होती है, तो कर्नेल एक कार्य को एक पूर्व निर्धारित समय के लिए चलने की अनुमति देता है, जिसे क्वांटम कहा जाता है, और फिर दूसरे कार्य का चयन करता है। इस प्रक्रिया को राउंड रॉबिन शेड्यूलिंग या टाइम स्लाइसिंग कहा जाता है। कर्नेल अगले कार्य को लाइन में नियंत्रण देता है यदि:
जब दो या दो से अधिक कार्यों की समान प्राथमिकता समान होती है, तब कर्नेल कार्य को पूर्व निर्धारित समय के लिए चलने की अनुमति देता है, जिसे क्वांटम कहा जाता है और फिर दूसरे कार्य का चयन करता है। इस प्रक्रिया को राउंड रॉबिन योजनाबद्धता या समय के भाग करने की क्रिया होती है। इस प्रकार कर्नेल अगले कार्य को रेखा में नियंत्रण देता है यदि,
*मौजूदा टास्क में टाइम स्लाइस के दौरान करने के लिए कोई काम नहीं है, या
*उपस्तिथा टास्क में समय स्लाइस के समय करने के लिए कोई कार्य नहीं है, या
* वर्तमान कार्य अपने समय के अंत से पहले पूरा हो जाता है, या
* वर्तमान कार्य अपने समय के अंत से पहले पूर्ण हो जाता है, या
* समय का टुकड़ा समाप्त होता है।
* समय का टुकड़ा समाप्त होता है।


=== गुठली ===
=== कर्नेल ===
μC/OS-III के लिए कर्नेल कार्यक्षमता μC/OS-II के समान है।
μ सी/ओएस-III के लिए कर्नेल कार्यक्षमता μ सी/ओएस-II के समान होता है।


=== कार्यों का प्रबंधन ===
=== कार्यों का प्रबंधन ===
कार्य प्रबंधन भी μC/OS-II के समान कार्य करता है। हालाँकि, μC/OS-III मल्टीटास्किंग का समर्थन करता है और किसी एप्लिकेशन को किसी भी संख्या में कार्य करने की अनुमति देता है। प्रोसेसर के लिए उपलब्ध कंप्यूटर मेमोरी (कोड और डेटा स्पेस दोनों) की मात्रा से ही कार्यों की अधिकतम संख्या सीमित है।
कार्य प्रबंधन भी μ सी/ओएस-II के समान कार्य करता है। चूँकि, μ सी/ओएस-III मल्टीटास्किंग का समर्थन करता है और किसी एप्लिकेशन को किसी भी संख्या में कार्य करने की अनुमति देता है। इस प्रकार प्रोसेसर के लिए उपलब्ध कंप्यूटर मेमोरी (कोड और डेटा स्थान दोनों) की मात्रा से ही कार्यों की अधिकतम संख्या सीमित होती है।


एक कार्य को निर्धारित पूर्णता तक चलने के माध्यम से कार्यान्वित किया जा सकता है, जिसमें कार्य समाप्त होने पर स्वयं को हटा देता है, या अधिक विशिष्ट रूप से एक अनंत लूप के रूप में, घटनाओं के होने की प्रतीक्षा में और उन घटनाओं को संसाधित करता है।
सामान्यतः कार्य को निर्धारित पूर्णता तक चलने के माध्यम से कार्यान्वित किया जा सकता है, जिसमें कार्य समाप्त होने पर स्वयं को हटा देता है या अधिक विशिष्ट रूप से अनंत लूप के रूप में, घटनाओं के होने की प्रतीक्षा में और उन घटनाओं को संसाधित करता है।


=== स्मृति प्रबंधन ===
=== मेमोरी प्रबंधन ===
मेमोरी प्रबंधन उसी तरह से किया जाता है जैसे μC/OS-II में।
मेमोरी प्रबंधन μ सी/ओएस-II की उसी प्रकार से किया जाता है।


=== समय प्रबंधन ===
=== समय प्रबंधन ===
μC/OS-III μC/OS-II के समान समय प्रबंधन सुविधाएँ प्रदान करता है। यह एप्लिकेशन को सेवाएं भी प्रदान करता है ताकि कार्य उपयोगकर्ता द्वारा परिभाषित समय विलंब के लिए उनके निष्पादन को निलंबित कर सकें। देरी या तो घड़ी की टिक, या घंटे, मिनट, सेकंड और [[मिलीसेकंड]] की संख्या से निर्दिष्ट होती है।
μ सी/ओएस-III μ सी/ओएस-II के समान समय प्रबंधन सुविधाएँ प्रदान करता है। यह एप्लिकेशन को सेवाएं भी प्रदान करता है, जिससे कि कार्य उपयोगकर्ता द्वारा परिभाषित समय विलंब के लिए उनके निष्पादन को निलंबित कर सकता है। इस प्रकार देरी या तब घड़ी की टिक या घंटे, मिनट, सेकंड और [[मिलीसेकंड]] की संख्या से निर्दिष्ट होती है।


=== कार्यों के बीच संचार ===
=== कार्यों के मध्य संचार ===
कभी-कभी, एक कार्य या ISR को दूसरे कार्य के लिए सूचना का संचार करना चाहिए, क्योंकि एक ही विशिष्ट डेटा या हार्डवेयर संसाधन को एक साथ एक्सेस करना दो कार्यों के लिए असुरक्षित है। इसे एक सूचना हस्तांतरण के माध्यम से हल किया जा सकता है, जिसे अंतर-कार्य संचार कहा जाता है। सूचनाओं को कार्यों के बीच दो तरीकों से संप्रेषित किया जा सकता है: वैश्विक डेटा के माध्यम से, या संदेश भेजकर।
कभी-कभी, कार्य या आईएसआर को दूसरे कार्य के लिए सूचना का संचार किया जाता है, जिससे कि विशिष्ट डेटा या हार्डवेयर संसाधन को साथ एक्सेस करना दो कार्यों के लिए असुरक्षित होता है। इसे सूचना हस्तांतरण के माध्यम से हल किया जा सकता है, जिसे अंतर-कार्य संचार कहा जाता है। इस प्रकार सूचनाओं को कार्यों के मध्य दो विधियों से वैश्विक डेटा के माध्यम से, या संदेश भेजकर संप्रेषित किया जा सकता है।


वैश्विक चर का उपयोग करते समय, प्रत्येक कार्य या ISR को यह सुनिश्चित करना चाहिए कि उसके पास चरों तक विशेष पहुंच हो। यदि कोई ISR शामिल है, तो सामान्य चरों के लिए अनन्य पहुँच सुनिश्चित करने का एकमात्र तरीका व्यवधानों को अक्षम करना है। यदि दो कार्य डेटा साझा करते हैं, तो प्रत्येक इंटरप्ट्स को अक्षम करके, शेड्यूलर को लॉक करके, एक सेमाफोर (प्रोग्रामिंग) का उपयोग करके, या अधिमानतः, पारस्परिक बहिष्करण सेमाफोर का उपयोग करके चर के लिए विशेष पहुंच प्राप्त कर सकता है। संदेश या तो एक मध्यवर्ती वस्तु को भेजा जा सकता है जिसे संदेश कतार कहा जाता है, या सीधे एक कार्य के लिए, चूंकि μC/OS-III में, प्रत्येक कार्य की अपनी अंतर्निहित संदेश कतार होती है। यदि संदेशों के लिए प्रतीक्षा करने के लिए एकाधिक कार्य हैं तो बाहरी संदेश कतार का उपयोग करें। यदि केवल एक कार्य प्राप्त डेटा को संसाधित करेगा, तो सीधे कार्य को संदेश भेजें। जबकि कार्य किसी संदेश के आने की प्रतीक्षा करता है, यह CPU समय का उपयोग नहीं करता है।
वैश्विक चर का उपयोग करते समय, प्रत्येक कार्य या आईएसआर को यह सुनिश्चित किया जाता है कि उसके समीप चरों तक विशेष पहुंच होती है। यदि कोई आईएसआर सम्मिलित होता है, तब सामान्य चरों के लिए अनन्य पहुँच सुनिश्चित करने का एकमात्र विधि व्यवधानों को अक्षम करना होता है। यदि दो कार्य डेटा साझा करते हैं, तब प्रत्येक इंटरप्ट्स को अक्षम करके, शेड्यूलर को लॉक करके, सेमाफोर (प्रोग्रामिंग) का उपयोग करके या अधिमानतः, पारस्परिक बहिष्करण सेमाफोर का उपयोग करके चर के लिए विशेष पहुंच प्राप्त कर सकता है। इस प्रकार संदेश या तो मध्यवर्ती वस्तु को भेजा जा सकता है, जिसे संदेश कतार कहा जाता है, या सीधे कार्य के लिए होता है। चूंकि μ सी/ओएस-III में, प्रत्येक कार्य की अपनी अंतर्निहित संदेश कतार होती है। यदि संदेशों के लिए प्रतीक्षा करने के लिए एकाधिक कार्य होता हैं, तब बाहरी संदेश कतार का उपयोग होता है। यदि केवल कार्य प्राप्त डेटा को संसाधित करता है, तब सीधे कार्य को संदेश भेज सकता है। जबकि कार्य किसी संदेश के आने की प्रतीक्षा करता है, यह सीपीयू समय का उपयोग नहीं करता है।


== पोर्ट्स ==
== पोर्ट्स ==
एक पोर्ट में तीन पहलू शामिल होते हैं: CPU, OS और बोर्ड विशिष्ट (BSP) कोड। μC/OS-II और μC/OS-III के पास बाजार में सबसे लोकप्रिय प्रोसेसर और बोर्ड के लिए बंदरगाह हैं और [[सुरक्षा महत्वपूर्ण]] एम्बेडेड सिस्टम जैसे विमानन, चिकित्सा प्रणाली और परमाणु प्रतिष्ठानों में उपयोग के लिए उपयुक्त हैं। एक μC/OS-III पोर्ट में तीन कर्नेल विशिष्ट फाइलों की सामग्री को लिखना या बदलना शामिल है: <code>OS_CPU.H</code>, <code>OS_CPU_A.ASM</code>, और <code>OS_CPU_C.C</code>. अंत में उपयोग किए जा रहे मूल्यांकन बोर्ड या लक्ष्य बोर्ड के लिए एक बोर्ड सपोर्ट पैकेज (बीएसपी) बनाएं या बदलें। एक μC/OS-III पोर्ट एक μC/OS-II पोर्ट के समान है। यहाँ सूचीबद्ध की तुलना में काफी अधिक बंदरगाह हैं, और बंदरगाह निरंतर विकास के अधीन हैं। μC/OS-II और μC/OS-III दोनों ही लोकप्रिय ट्रांसपोर्ट लेयर सिक्योरिटी|SSL/TLS लाइब्रेरी जैसे [[wolfSSL]] द्वारा समर्थित हैं, जो सभी कनेक्शनों में सुरक्षा सुनिश्चित करते हैं।
पोर्ट में तीन पहलू सीपीयू, ओएस और बोर्ड विशिष्ट (बीएसपी) कोड सम्मिलित होते हैं। इस प्रकार μ सी/ओएस-II और μ सी/ओएस-III के समीप बाजार में सबसे लोकप्रिय प्रोसेसर और बोर्ड के लिए पोर्ट होते हैं और [[सुरक्षा महत्वपूर्ण]] एम्बेडेड प्रणाली जैसे विमानन, चिकित्सा प्रणाली और परमाणु प्रतिष्ठानों में उपयोग के लिए उपयुक्त होते हैं। इस प्रकार μ सी/ओएस-III पोर्ट में तीन कर्नेल विशिष्ट फाइलों की सामग्री को लिखना या परिवर्तित करना सम्मिलित होता है। <code>ओएस_सीपीयू.एच</code>, <code>ओएस_सीपीयू_ए.एएसएम</code> और <code>ओएस_सीपीयू_ सी. सी</code>. अंत में उपयोग किए जा रहे मूल्यांकन बोर्ड या लक्ष्य बोर्ड के लिए बोर्ड सपोर्ट पैकेज (बीएसपी) बनाएं या परिवर्तित होते है। इस प्रकार μ सी/ओएस-III पोर्ट μ सी/ओएस-II पोर्ट के समान होता है। यहाँ सूचीबद्ध की तुलना में काफी अधिक पोर्ट होता हैं और पोर्ट निरंतर विकास के अधीन होता हैं। अतः μ सी/ओएस-II और μ सी/ओएस-III दोनों ही लोकप्रिय ट्रांसपोर्ट लेयर सिक्योरिटी एसएसएल/टीएलएस पुस्तकालय जैसे [[wolfSSL|वुल्फएसएसएल]] द्वारा समर्थित होते हैं, जो सभी कनेक्शनों में सुरक्षा सुनिश्चित करते हैं।


== लाइसेंसिंग परिवर्तन ==
== लाइसेंसिंग परिवर्तन ==
सिलिकॉन लैब्स द्वारा अधिग्रहण के बाद, 2020 में माइक्रीम फरवरी 2020 में [[ओपन-सोर्स मॉडल]] लाइसेंसिंग में बदल गया। इसमें यूसी/ओएस III, सभी पूर्व संस्करण, सभी घटक शामिल हैं: यूएसबी, [[फाइल सिस्टम]], जीयूआई, टीसीपी/आईपी, आदि।
सिलिकॉन प्रयोगशाला द्वारा अधिग्रहण के पश्चात्, सन्न 2020 में माइक्रीम फरवरी, सन्न 2020 में [[ओपन-सोर्स मॉडल|खुला स्त्रोत मॉडल]] लाइसेंसिंग में परिवर्तित किया गया है। इसमें यूसी/ओएस III, सभी पूर्व संस्करण, सभी घटक सम्मिलित होते हैं। जैसे, यूएसबी, [[फाइल सिस्टम|फाइल प्रणाली]], जीयूआई, टीसीपी/आईपी, आदि।


== दस्तावेज़ीकरण और समर्थन ==
== दस्तावेज़ीकरण और समर्थन ==
समर्थन एक विशिष्ट समर्थन मंच, और कई व्यापक पुस्तकों के माध्यम से उपलब्ध है, कई एक दिए गए माइक्रोकंट्रोलर आर्किटेक्चर और डेवलपमेंट प्लेटफॉर्म के अनुरूप हैं, मुफ्त पीडीएफ के रूप में, या हार्ड-कवर में कम लागत वाली खरीद के रूप में। माइक्रीम और अन्य पार्टियों से सशुल्क समर्थन उपलब्ध है।
समर्थन विशिष्ट समर्थन मंच और अनेक व्यापक पुस्तकों के माध्यम से उपलब्ध होता है, जिनमें से अनेक दिए गए माइक्रोकंट्रोलर वास्तुकला और विकास प्लेटफॉर्म के अनुरूप होता हैं, अतः मुफ्त पीडीएफ के रूप में या हार्ड-कवर में कम लागत वाली खरीद के रूप में माइक्रीम और अन्य पार्टियों से सशुल्क समर्थन उपलब्ध होता है।


==संदर्भ==
==संदर्भ==
Line 186: Line 177:


== स्रोत ==
== स्रोत ==
*[http://www.mil-embedded.com/news/db/?13968 फ्यूजन एंबेडेड से μC/OS-II के लिए प्रोटोकॉल सपोर्ट]
*[http://www.mil-embedded.com/news/db/?13968 फ्यूजन एंबेडेड से μC/ओएस-II के लिए प्रोटोकॉल सपोर्ट]
*Micrium-uCOS-III-UsersManual पहला संस्करण
*Micrium-uCओएस-III-UsersManual पहला संस्करण
*[http://micrium.com/download/%C2%B5cos-iii-the-real-time-kernel-for-the-renesas-rx62n/ uC/OS-III: Renesas RX62N के लिए रीयल-टाइम कर्नेल ]
*[http://micrium.com/download/%C2%B5cos-iii-the-real-time-kernel-for-the-renesas-rx62n/ uC/ओएस-III: Renesas RX62N के लिए वास्तविक-समय कर्नेल]


==बाहरी संबंध==
==बाहरी संबंध==
*{{Official website|www.micrium.com/products}}
*{{Official website|www.micrium.com/products}}
*{{GitHub|SiliconLabs}}
*{{GitHub|SiliconLabs}}
*[http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/uC_Functions.html Summary of Commonly Used uC/OS-II Functions and Data Structures]  
*[http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/uC_Functions.html Summary of Commonly Used uC/ओएस-II Functions and Data Structures]
*[http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/ NiosII GCC with MicroC/OS]
*[http://people.ece.cornell.edu/land/courses/ece5760/NiosII_muCOS/ NiओएसII GCC with माइक्रोसी/ओएस]
*[http://www.farnell.com/datasheets/1950186.pdf μC/OS-II Reference Manual]
*[http://www.farnell.com/datasheets/1950186.pdf μC/ओएस-II Reference Manual]
*[http://ftp1.digi.com/support/documentation/0220047_e.pdf How to Get a μC/OS-II Application Running]
*[http://ftp1.digi.com/support/documentation/0220047_e.pdf How to Get a μC/ओएस-II Application Running]


{{Real-time operating systems}}
{{Real-time operating systems}}
{{Microkernel}}
{{Microkernel}}


{{DEFAULTSORT:Microc Os-II}}[[Category: रीयल-टाइम ऑपरेटिंग सिस्टम]] [[Category: एंबेडेड ऑपरेटिंग सिस्टम]] [[Category: एआरएम ऑपरेटिंग सिस्टम]] [[Category: माइक्रोकर्नेल-आधारित ऑपरेटिंग सिस्टम]] [[Category: माइक्रोकर्नेल]]
{{DEFAULTSORT:Microc Os-II}}
 
 


[[Category: Machine Translated Page]]
[[Category:Collapse templates|Microc Os-II]]
[[Category:Created On 18/06/2023]]
[[Category:Created On 18/06/2023|Microc Os-II]]
[[Category:Lua-based templates|Microc Os-II]]
[[Category:Machine Translated Page|Microc Os-II]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Microc Os-II]]
[[Category:Official website not in Wikidata|Microc Os-II]]
[[Category:Pages with script errors|Microc Os-II]]
[[Category:Short description with empty Wikidata description|Microc Os-II]]
[[Category:Sidebars with styles needing conversion|Microc Os-II]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready|Microc Os-II]]
[[Category:Templates generating microformats|Microc Os-II]]
[[Category:Templates that add a tracking category|Microc Os-II]]
[[Category:Templates that are not mobile friendly|Microc Os-II]]
[[Category:Templates that generate short descriptions|Microc Os-II]]
[[Category:Templates using TemplateData|Microc Os-II]]
[[Category:Wikipedia metatemplates|Microc Os-II]]
[[Category:एंबेडेड ऑपरेटिंग सिस्टम|Microc Os-II]]
[[Category:एआरएम ऑपरेटिंग सिस्टम|Microc Os-II]]
[[Category:माइक्रोकर्नेल|Microc Os-II]]
[[Category:माइक्रोकर्नेल-आधारित ऑपरेटिंग सिस्टम|Microc Os-II]]
[[Category:रीयल-टाइम ऑपरेटिंग सिस्टम|Microc Os-II]]

Latest revision as of 13:05, 8 September 2023

माइक्रोसी/ओएस (μC/ओएस)
डेवलपरमाइक्रियम, इंक.,
Silicon Labs
लिखा हुआएएनएसआई सी
काम करने की अवस्थाकरंट
स्रोत मॉडलखुला स्त्रोत के रूप में 2020
आरंभिक रिलीज1991; 33 years ago (1991)
Latest releaseओएस-III / 2016; 8 years ago (2016)
रिपॉजिटरीगितहब.कॉम/वेस्टन-एंबेडेड/यूसी-ओएस3
विपणन लक्ष्य[एम्बेडेड डिवाइस]]
उपलब्धअंग्रेज़ी
प्लेटफार्मोंARM Cortex-M3, -M4F, ARM7TDMI; Atmel AVR; eSi-RISC, and many others
कर्नेल प्रकारवास्तविक-समय माइक्रोकर्नेल
डिफ़ॉल्ट
उपयोगकर्ता इंटरफ़ेस
μसी/जीयूआई
लाइसेंसअपेक के रूप में 2020; former Commercial, freeware education use
आधिकारिक वेबसाइटवेस्टन-एम्बेडेड.कॉम/माइक्रोरियम/अवलोकन
माइक्रियम ओएस
डेवलपरसिलिकॉन प्रयोगशाला
लिखा हुआएएनएसआई सी
काम करने की अवस्थाकरंट
स्रोत मॉडलखुला स्त्रोत
आरंभिक रिलीज2020; 4 years ago (2020)
Latest releasePart of Gecko Platform 4.2.0.0,[1] part of Gecko SDK 4.2.0.0[2] / December 14, 2022; 23 months ago (2022-12-14)
रिपॉजिटरीgithub.com/SiliconLabs/gecko_sdk/tree/gsdk_4.2/platform/micrium_os
विपणन लक्ष्यएंबेडेड डिवाइस
उपलब्धअंग्रेज़ी
प्लेटफार्मोंविशेष रूप से सिलिकॉन प्रयोगशाला सिलिकॉन
कर्नेल प्रकारवास्तविक-समय माइक्रोकर्नेल
लाइसेंसअपेक
आधिकारिक वेबसाइटडब्लूडब्लूडब्लू.सीलैब्स.कॉम/डेवलपर्स/माइक्रोरियम-ओएस
सीज़ियम आरटीओएस
डेवलपरवेस्टन एंबेडेड सॉल्यूशंस
लिखा हुआएएनएसआई सी
काम करने की अवस्थाकरंट
स्रोत मॉडलव्यावसायिक
आरंभिक रिलीजJune 23, 2020; 4 years ago (2020-06-23) (forked from uC/OS-III V3.08.00)[3]
Latest releaseसीएस/ओएस3 3.09.01[3] / December 21, 2022; 23 months ago (2022-12-21)[3]
विपणन लक्ष्यएंबेडेड डिवाइस
उपलब्धअंग्रेज़ी
प्लेटफार्मों50+ यह स्पष्ट नहीं है कि μC/OS के साथ 1-टू-1 ओवरलैप है या नहीं
कर्नेल प्रकारवास्तविक-समय माइक्रोकर्नेल
लाइसेंसव्यावसायिक
आधिकारिक वेबसाइटवेस्टन-एम्बेडेड.कॉम/उत्पाद/सीज़ियम

माइक्रो-कंट्रोलर ऑपरेटिंग सिस्टम (माइक्रोसी/ओएस, जिसे μ सी/ओएस या माइक्रीम ओएस के रूप में शैलीबद्ध किया गया है) वास्तविक-समय ऑपरेटिंग प्रणाली (आरटीओएस) होता है, जिसे सन्न 1991 में जीन जे. लेब्रोस द्वारा डिज़ाइन किया गया था। इस प्रकार यह प्राथमिकता-आधारित प्रीमेशन (कंप्यूटिंग) वास्तविक कर्नेल है। चूँकि माइक्रोप्रोसेसर के लिए वास्तविक-समय कर्नेल, अधिकांशतः प्रोग्रामिंग भाषा सी (प्रोग्रामिंग भाषा) में लिखा जाता है। अंतः यह स्थापित प्रणाली में उपयोग के लिए होता है।

माइक्रोसी/ओएस सी में अनेक कार्यों को परिभाषित करने की अनुमति देता है, जिनमें से प्रत्येक स्वतंत्र थ्रेड या कार्य के रूप में निष्पादित हो सकता है। प्रत्येक कार्य भिन्न प्राथमिकता पर चलता है और ऐसे चलता है जैसे कि वह सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) का मालिक होता है। इस प्रकार कम प्राथमिकता वाले कार्यों को किसी भी समय उच्च प्राथमिकता वाले कार्यों से छूट दी जा सकती है। चूँकि उच्च प्राथमिकता वाले कार्य निम्न प्राथमिकता वाले कार्यों को निष्पादित करने की अनुमति देने के लिए ऑपरेटिंग प्रणाली (ओएस) सेवाओं (जैसे देरी या घटना) का उपयोग करते हैं। अतः ओएस सेवाएं कार्यों और मेमोरी के प्रबंधन कार्यों के मध्य संचार और समय निर्धारण के लिए प्रदान की जाती हैं।[4]

इतिहास

माइक्रोसी/ओएस कर्नेल मूल रूप से एंबेडेड प्रणाली प्रोग्रामिंग पत्रिका में तीन-भाग वाले लेख और लेब्रोसे की पुस्तक द्वारा μ सी/ओएस वास्तविक-समय कर्नेल में प्रकाशित किया गया था।[5] उन्होंने पहले अपने स्वयं के उपयोग के लिए विकसित सॉफ्टवेयर पोर्टेबिलिटी ओएस के आंतरिक विवरण का वर्णन किया था, जिसे उन्होंने अपने उपयोग के लिए विकसित किया था, किन्तु बाद में इसे संस्करण II और III में अपनी कंपनी माइक्रियम, इंक में वाणिज्यिक उत्पाद के रूप में विकसित किया गया था।

सन्न 2016 में माइक्रीम, इंक को सिलिकॉन प्रयोगशालाओं द्वारा अधिग्रहण किया गया था[6] और इसे बाद में अपाचे लाइसेंस के अनुसार खुले स्त्रोत के रूप में जारी किया गया था।

सिलिकॉन प्रयोगशाला अपने स्वयं के सिलिकॉन पर उपयोग के लिए माइक्रीम ओएस नामक खुला स्त्रोत उत्पाद को बनाए रखना जारी रखती है[7] और माइक्रीम, इंक. के पूर्व कर्मचारियों का समूह (प्रयोगशाला्रोस सहित) μ सी/ओएसऔर सीज़ियम आरटीओएस दोनों के लिए परामर्श और सहायता प्रदान करता है। इस प्रकार खुले स्त्रोत रिलीज के ठीक पश्चात् मालिकाना फोर्क समर्थन प्रदान करता है।[8]

μ सी/ओएस-II

μ सी/ओएस के लिए लिखे गए स्रोत कोड के आधार पर और सन्न 1998 में वाणिज्यिक उत्पाद के रूप में प्रस्तुत किया गया था, अतः μ सी/ओएस-II सॉफ्टवेयर सुवाह्यता, रोम-सक्षम, मापनीय , रिक्तिपूर्व, वास्तविक-समय, नियतात्मक, मल्टीटास्किंग कर्नेल (ऑपरेटिंग प्रणाली) है। इस प्रकार माइक्रोप्रोसेसरों और डिजिटल सिग्नल प्रोसेसर (डीएसपी) के लिए यह 64 कार्यों तक का प्रबंधन करता है। इसके आकार को केवल किसी दिए गए उपयोग के लिए आवश्यक सुविधाओं को सम्मिलित करने के लिए (5 और 24 किलोबाइट्स के मध्य) बढ़ाया जा सकता है।

अधिकांश μ सी/ओएस-II अत्यधिक पोर्टेबल एएनएसआई सी में लिखे गए हैं, जिसमें लक्ष्य माइक्रोप्रोसेसर-विशिष्ट कोड असेंबली भाषा में लिखा गया है। इस प्रकार अन्य प्रोसेसर पोर्टिंग को सुविधाजनक बनाने के लिए बाद वाले का उपयोग कम से कम किया जाता है।

एम्बेडेड प्रणाली में उपयोग

μ सी/ओएस-II एम्बेडेड उपयोगों के लिए डिज़ाइन किया गया था। यदि निर्माता के समीप उचित उपकरण श्रृंखला (अर्थात्, सी कंपाइलर, असेंबलर और लिंकर-लोकेटर) होते है, तब μसी/ओएस-II को उत्पाद के भाग के रूप में एम्बेड किया जा सकता है।

μ सी/ओएस-II का उपयोग अनेक एम्बेडेड प्रणाली में किया जाता है, जिनमें निम्न प्रणाली सम्मिलित होती हैं।

टास्क स्टेट्स

μ सी/ओएस-II कंप्यूटर मल्टीटास्किंग ऑपरेटिंग प्रणाली होती है। चूँकि प्रत्येक कार्य अनंत लूप होते है और निम्नलिखित पांच अवस्थाओं में से किसी में हो सकता है। (नीचे चित्र देखें)

इसके अतिरिक्त, यह 64 कार्यों तक का प्रबंधन कर सकता है। चूँकि, यह अनुशंसा की जाती है कि इनमें से आठ कार्यों को μ सी/ओएस-II के लिए आरक्षित किया जाता है, अतः एप्लिकेशन को 56 कार्यों तक छोड़ दिया जाता है।[9]

कर्नेल

कर्नेल (ऑपरेटिंग प्रणाली) उस प्रोग्राम को दिया गया नाम होता है, जो ऑपरेटिंग प्रणाली के अधिकांश गृह व्यवस्था का कार्य करता है। इस प्रकार बूट लोडर कर्नेल को नियंत्रित करता है, जो विभिन्न उपकरणों को ज्ञात अवस्था में प्रारंभ करता है और कंप्यूटर को सामान्य संचालन के लिए तैयार करता है।[10] जिससे कि कर्नेल कार्यों के प्रबंधन (अर्थात्, सीपीयू के समय के प्रबंधन के लिए) और कार्यों के मध्य संचार करने के लिए भागीदार होते है।[11] अतः कर्नेल द्वारा प्रदान की जाने वाली मूलभूत सेवा संदर्भ स्विचिंग होती है।

अनुसूचक कर्नेल का वह भाग होता है जो यह निर्धारित करने के लिए भागीदार होता है कि कौन सा कार्य आगे चलता है।[12] अधिकांश वास्तविक-समय कर्नेल प्राथमिकता आधारित होते हैं। इस प्रकार प्राथमिकता-आधारित कर्नेल में, सीपीयू का नियंत्रण हमेशा चलने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को दिया जाता है। चूँकि दो प्रकार की प्राथमिकता-आधारित कर्नेल उपस्तिथ हैं। अतः कंप्यूटर मल्टीटास्किंग सहकारी मल्टीटास्किंग गैर-रिक्तिपूर्व और प्रीमेशन (कंप्यूटिंग) अप्रतिबंधित कर्नेल की आवश्यकता होती है कि प्रत्येक कार्य सीपीयू के नियंत्रण को स्पष्ट रूप से छोड़ने के लिए कुछ करते है।[12] रिक्तिपूर्व कर्नेल का उपयोग तब किया जाता है जब प्रणाली प्रतिक्रिया अधिक महत्वपूर्ण होती है। इस प्रकार, μ सी/ओएस-II और अधिकांश व्यावसायिक वास्तविक-समय कर्नेल रिक्तिपूर्व होते हैं।[13] इस प्रकार चलाने के लिए तैयार सर्वोच्च प्राथमिकता वाले कार्य को हमेशा सीपीयू का नियंत्रण दिया जाता है।

कार्य सौंपना

निष्पादन की उच्चतम दर वाले कार्यों को दर-मोनोटोनिक योजनाबद्धता का उपयोग करके सर्वोच्च प्राथमिकता दी जाती है।[14] यह योजनाबद्धता एल्गोरिदम वास्तविक-समय ऑपरेटिंग प्रणाली (आरटीओएस) में स्थिर-प्राथमिकता योजनाबद्धता वर्ग के साथ उपयोग किया जाता है।[15]

कार्यों का प्रबंधन

कम्प्यूटिंग में, कार्य निष्पादन की इकाई होती है। चूँकि कुछ ऑपरेटिंग प्रणाली में, कार्य प्रक्रिया (कंप्यूटिंग) का पर्याय होता है, अतः दूसरों में थ्रेड (कंप्यूटिंग) के साथ प्रचय संसाधन कंप्यूटर प्रणाली में, कार्य जॉब स्ट्रीम के अंदर निष्पादन की इकाई होती है।

μ सी/ओएस-II का प्रणाली उपयोगकर्ता निम्नलिखित विशेषताओं का उपयोग करके कार्यों को नियंत्रित करने में सक्षम होता है।

  • कार्य सुविधा
  • कार्य निर्माण
  • टास्क स्टैक और स्टैक चेकिंग
  • टास्क विलोपन
  • किसी कार्य की प्राथमिकता बदलें
  • निलंबित करें और किसी कार्य को फिर से प्रारंभ करें
  • किसी कार्य के बारे में जानकारी प्राप्त करें[16]

स्मृति प्रबंधन

विखंडन (कंप्यूटिंग) से बचने के लिए, μ सी/ओएस-II अनुप्रयोगों को मेमोरी प्रबंधन (ऑपरेटिंग प्रणाली) से निश्चित आकार के मेमोरी ब्लॉक प्राप्त करने की अनुमति देता है। इस प्रकार सभी मेमोरी ब्लॉक समान आकार के होते हैं और विभाजन में ब्लॉक की अभिन्न संख्या होती है। इन मेमोरी ब्लॉकों का आवंटन और विलोपन निरंतर समय में किया जाता है और यह नियतात्मक प्रणाली होती है।[17]

समय प्रबंधन

μ सी/ओएस-II के लिए यह आवश्यक होता है कि समय की देरी और समयआउट का ट्रैक रखने के लिए आवधिक समय स्रोत प्रदान किया जाता है। इस प्रकार टिक 10 से 1000 बार प्रति सेकंड या हेटर्स के मध्य होता है। जिससे कि तेज़ टिक दर, अधिक ओवरहेड (कंप्यूटिंग) μ सी/ओएस-II प्रणाली पर लगाता है। चूँकि घड़ी की टिक-टिक की आवृत्ति किसी एप्लिकेशन के वांछित टिक संकल्प पर निर्भर करती है। इस प्रकार टिक स्रोत हार्डवेयर समयर समर्पित करके या प्रत्यावर्ती धारा (ए सी) विद्युत रेखा (50 या 60 हर्ट्ज) सिग्नल से व्यवधान उत्पन्न करके प्राप्त किया जा सकता है। इस आवधिक समय स्रोत को घड़ी की टिक-टिक कहा जाता है।[18]

घड़ी की टिक निर्धारित होने के पश्चात्, कार्य निम्न हो सकते हैं।

  • किसी कार्य में देरी करना
  • रुके हुए कार्य को पुनः प्रारंभ करें

कार्यों के मध्य संचार

μ सी/ओएस-II में इंटरटास्क या इंटरप्रोसेस संचार होता है। इस प्रकार सेमाफोर (प्रोग्रामिंग), संदेश मेलबॉक्स, संदेश कतार, कार्य और अन्तरायन प्रहस्तक (आईएसआर) जब कोई कार्य या आईएसआर घटना नियंत्रण बाधा (ईसीबी) नामक कर्नेल ऑब्जेक्ट के माध्यम से किसी कार्य को संकेत देता है तब वह एक-दूसरे के साथ बातचीत कर सकते हैं। अतः संकेत को घटना माना जाता है।

μ सी/ओएस-III

μ सी/ओएस-III माइक्रो-कंट्रोलर ऑपरेटिंग प्रणाली वर्जन 3 का संक्षिप्त रूप होता है, जिसे सन्न 2009 में प्रस्तुत किया गया था और μ सी/ओएस-II आरटी ओएस में कार्यक्षमता जोड़ता है।

μ सी/ओएस-III μ सी/ओएस-II की सभी विशेषताएं और कार्य प्रदान करता है। जिससे कि सबसे बड़ा अंतर समर्थित कार्यों की संख्या होती है। इस प्रकार μ सी/ओएस-II अधिकतम 255 कार्यों के लिए 255 प्राथमिकता स्तरों में से प्रत्येक पर केवल 1 कार्य की अनुमति देता है। चूँकि μ सी/ओएस-III किसी भी संख्या में एप्लिकेशन कार्यों, प्राथमिकता स्तरों और प्रति स्तर कार्यों की अनुमति देता है, अतः केवल मेमोरी तक प्रोसेसर पहुंच द्वारा सीमित होता है।[19][20]

μ सी/ओएस-II और μ सी/ओएस-III का रखरखाव वर्तमान में सिलिकॉन प्रयोगशाला की सहायक कंपनी माइक्रियम, इंक. द्वारा किया जाता है और इसे प्रति उत्पाद या प्रति उत्पाद रेखा के लिए अनुज्ञप्ति प्राप्त किया जा सकता है।

एम्बेडेड प्रणाली में उपयोग

इसका उपयोग μ सी/ओएस-II के समान ही होता हैं।

टास्क स्टेट्स

μ सी/ओएस-III कंप्यूटर मल्टीटास्किंग ऑपरेटिंग प्रणाली होती है, जिसमे प्रत्येक कार्य अनंत लूप होते है और पांच अवस्थाओं में से किसी में हो सकता है (निष्क्रिय, तैयार, चल रहा है, बाधित, या लंबित)। इस प्रकार कार्य प्राथमिकताएं 0 (सर्वोच्च प्राथमिकता) से लेकर अधिकतम 255 (न्यूनतम संभव प्राथमिकता) तक हो सकती हैं।

राउंड रॉबिन योजनाबद्धता

जब दो या दो से अधिक कार्यों की समान प्राथमिकता समान होती है, तब कर्नेल कार्य को पूर्व निर्धारित समय के लिए चलने की अनुमति देता है, जिसे क्वांटम कहा जाता है और फिर दूसरे कार्य का चयन करता है। इस प्रक्रिया को राउंड रॉबिन योजनाबद्धता या समय के भाग करने की क्रिया होती है। इस प्रकार कर्नेल अगले कार्य को रेखा में नियंत्रण देता है यदि,

  • उपस्तिथा टास्क में समय स्लाइस के समय करने के लिए कोई कार्य नहीं है, या
  • वर्तमान कार्य अपने समय के अंत से पहले पूर्ण हो जाता है, या
  • समय का टुकड़ा समाप्त होता है।

कर्नेल

μ सी/ओएस-III के लिए कर्नेल कार्यक्षमता μ सी/ओएस-II के समान होता है।

कार्यों का प्रबंधन

कार्य प्रबंधन भी μ सी/ओएस-II के समान कार्य करता है। चूँकि, μ सी/ओएस-III मल्टीटास्किंग का समर्थन करता है और किसी एप्लिकेशन को किसी भी संख्या में कार्य करने की अनुमति देता है। इस प्रकार प्रोसेसर के लिए उपलब्ध कंप्यूटर मेमोरी (कोड और डेटा स्थान दोनों) की मात्रा से ही कार्यों की अधिकतम संख्या सीमित होती है।

सामान्यतः कार्य को निर्धारित पूर्णता तक चलने के माध्यम से कार्यान्वित किया जा सकता है, जिसमें कार्य समाप्त होने पर स्वयं को हटा देता है या अधिक विशिष्ट रूप से अनंत लूप के रूप में, घटनाओं के होने की प्रतीक्षा में और उन घटनाओं को संसाधित करता है।

मेमोरी प्रबंधन

मेमोरी प्रबंधन μ सी/ओएस-II की उसी प्रकार से किया जाता है।

समय प्रबंधन

μ सी/ओएस-III μ सी/ओएस-II के समान समय प्रबंधन सुविधाएँ प्रदान करता है। यह एप्लिकेशन को सेवाएं भी प्रदान करता है, जिससे कि कार्य उपयोगकर्ता द्वारा परिभाषित समय विलंब के लिए उनके निष्पादन को निलंबित कर सकता है। इस प्रकार देरी या तब घड़ी की टिक या घंटे, मिनट, सेकंड और मिलीसेकंड की संख्या से निर्दिष्ट होती है।

कार्यों के मध्य संचार

कभी-कभी, कार्य या आईएसआर को दूसरे कार्य के लिए सूचना का संचार किया जाता है, जिससे कि विशिष्ट डेटा या हार्डवेयर संसाधन को साथ एक्सेस करना दो कार्यों के लिए असुरक्षित होता है। इसे सूचना हस्तांतरण के माध्यम से हल किया जा सकता है, जिसे अंतर-कार्य संचार कहा जाता है। इस प्रकार सूचनाओं को कार्यों के मध्य दो विधियों से वैश्विक डेटा के माध्यम से, या संदेश भेजकर संप्रेषित किया जा सकता है।

वैश्विक चर का उपयोग करते समय, प्रत्येक कार्य या आईएसआर को यह सुनिश्चित किया जाता है कि उसके समीप चरों तक विशेष पहुंच होती है। यदि कोई आईएसआर सम्मिलित होता है, तब सामान्य चरों के लिए अनन्य पहुँच सुनिश्चित करने का एकमात्र विधि व्यवधानों को अक्षम करना होता है। यदि दो कार्य डेटा साझा करते हैं, तब प्रत्येक इंटरप्ट्स को अक्षम करके, शेड्यूलर को लॉक करके, सेमाफोर (प्रोग्रामिंग) का उपयोग करके या अधिमानतः, पारस्परिक बहिष्करण सेमाफोर का उपयोग करके चर के लिए विशेष पहुंच प्राप्त कर सकता है। इस प्रकार संदेश या तो मध्यवर्ती वस्तु को भेजा जा सकता है, जिसे संदेश कतार कहा जाता है, या सीधे कार्य के लिए होता है। चूंकि μ सी/ओएस-III में, प्रत्येक कार्य की अपनी अंतर्निहित संदेश कतार होती है। यदि संदेशों के लिए प्रतीक्षा करने के लिए एकाधिक कार्य होता हैं, तब बाहरी संदेश कतार का उपयोग होता है। यदि केवल कार्य प्राप्त डेटा को संसाधित करता है, तब सीधे कार्य को संदेश भेज सकता है। जबकि कार्य किसी संदेश के आने की प्रतीक्षा करता है, यह सीपीयू समय का उपयोग नहीं करता है।

पोर्ट्स

पोर्ट में तीन पहलू सीपीयू, ओएस और बोर्ड विशिष्ट (बीएसपी) कोड सम्मिलित होते हैं। इस प्रकार μ सी/ओएस-II और μ सी/ओएस-III के समीप बाजार में सबसे लोकप्रिय प्रोसेसर और बोर्ड के लिए पोर्ट होते हैं और सुरक्षा महत्वपूर्ण एम्बेडेड प्रणाली जैसे विमानन, चिकित्सा प्रणाली और परमाणु प्रतिष्ठानों में उपयोग के लिए उपयुक्त होते हैं। इस प्रकार μ सी/ओएस-III पोर्ट में तीन कर्नेल विशिष्ट फाइलों की सामग्री को लिखना या परिवर्तित करना सम्मिलित होता है। ओएस_सीपीयू.एच, ओएस_सीपीयू_ए.एएसएम और ओएस_सीपीयू_ सी. सी. अंत में उपयोग किए जा रहे मूल्यांकन बोर्ड या लक्ष्य बोर्ड के लिए बोर्ड सपोर्ट पैकेज (बीएसपी) बनाएं या परिवर्तित होते है। इस प्रकार μ सी/ओएस-III पोर्ट μ सी/ओएस-II पोर्ट के समान होता है। यहाँ सूचीबद्ध की तुलना में काफी अधिक पोर्ट होता हैं और पोर्ट निरंतर विकास के अधीन होता हैं। अतः μ सी/ओएस-II और μ सी/ओएस-III दोनों ही लोकप्रिय ट्रांसपोर्ट लेयर सिक्योरिटी एसएसएल/टीएलएस पुस्तकालय जैसे वुल्फएसएसएल द्वारा समर्थित होते हैं, जो सभी कनेक्शनों में सुरक्षा सुनिश्चित करते हैं।

लाइसेंसिंग परिवर्तन

सिलिकॉन प्रयोगशाला द्वारा अधिग्रहण के पश्चात्, सन्न 2020 में माइक्रीम फरवरी, सन्न 2020 में खुला स्त्रोत मॉडल लाइसेंसिंग में परिवर्तित किया गया है। इसमें यूसी/ओएस III, सभी पूर्व संस्करण, सभी घटक सम्मिलित होते हैं। जैसे, यूएसबी, फाइल प्रणाली, जीयूआई, टीसीपी/आईपी, आदि।

दस्तावेज़ीकरण और समर्थन

समर्थन विशिष्ट समर्थन मंच और अनेक व्यापक पुस्तकों के माध्यम से उपलब्ध होता है, जिनमें से अनेक दिए गए माइक्रोकंट्रोलर वास्तुकला और विकास प्लेटफॉर्म के अनुरूप होता हैं, अतः मुफ्त पीडीएफ के रूप में या हार्ड-कवर में कम लागत वाली खरीद के रूप में माइक्रीम और अन्य पार्टियों से सशुल्क समर्थन उपलब्ध होता है।

संदर्भ

  1. "Gecko Platform 4.2.0.0 GA" (PDF). 2022-12-14. Retrieved 2023-01-04.
  2. "gecko_sdk Releases on github.com". GitHub. Retrieved 2023-01-04.
  3. 3.0 3.1 3.2 "Cs/OS3 Release Notes". Weston Embedded Solutions.
  4. "NiosII GCC with MicroC/OS". School of Electrical and Computer Engineering. Cornell University. June 2006. Retrieved 25 April 2017.
  5. Labrosse, Jean J. (15 June 2002). μC/OS The Real-Time Kernel (2nd ed.). CRC Press. ISBN 978-1578201037.
  6. "What is Micrium?". Weston Embedded Solutions. Retrieved 2023-01-04.
  7. "माइक्रोरियम सॉफ्टवेयर और दस्तावेज़ीकरण". Retrieved 2023-01-04.
  8. "Why Cesium RTOS?". Weston Embedded Solutions. Retrieved 2023-01-04.
  9. Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). p. 77.
  10. Wikiversity:Operating Systems/Kernel Models#Monolithic Kernel
  11. Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). p. 39.
  12. 12.0 12.1 Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). p. 40.
  13. Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). p. 42.
  14. Liu, Chung Lang; Layland, James W. (1973). "एक कठिन रीयल-टाइम वातावरण में मल्टीप्रोग्रामिंग के लिए शेड्यूलिंग एल्गोरिदम". Journal of the ACM. 20 (1): 46–61. CiteSeerX 10.1.1.36.8216. doi:10.1145/321738.321743. S2CID 59896693.
  15. Bovet, Daniel. "लिनक्स कर्नेल को समझना". Archived from the original on 2014-09-21.
  16. Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). pp. 45–49.
  17. Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). pp. 273–285.
  18. Labrosse, Jean J. MicroC/OS-II: The Real Time Kernel (2nd ed.). pp. 145–152.
  19. "μC/OS-II and μC/OS-III Features Comparison". Micrium.
  20. "μC/OS-III overview". Micrium.


स्रोत

बाहरी संबंध