CINXE.COM
Real-time operating system - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Real-time operating system - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"e04747f1-798a-432c-967e-b008af70ee11","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Real-time_operating_system","wgTitle":"Real-time operating system","wgCurRevisionId":1253656346,"wgRevisionId":1253656346,"wgArticleId":26123,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description is different from Wikidata","All articles with unsourced statements","Articles with unsourced statements from November 2017","Articles with unsourced statements from September 2024","Articles with unsourced statements from April 2018","Real-time operating systems","Operating systems","Real-time computing"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext", "wgRelevantPageName":"Real-time_operating_system","wgRelevantArticleId":26123,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q213666","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness" ,"fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher", "ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Real-time operating system - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Real-time_operating_system"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Real-time_operating_system&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Real-time_operating_system"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Real-time_operating_system rootpage-Real-time_operating_system skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Real-time+operating+system" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Real-time+operating+system" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Real-time+operating+system" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Real-time+operating+system" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Characteristics" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Characteristics"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Characteristics</span> </div> </a> <ul id="toc-Characteristics-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Design_philosophies" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Design_philosophies"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Design philosophies</span> </div> </a> <ul id="toc-Design_philosophies-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Scheduling" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Scheduling"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Scheduling</span> </div> </a> <button aria-controls="toc-Scheduling-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Scheduling subsection</span> </button> <ul id="toc-Scheduling-sublist" class="vector-toc-list"> <li id="toc-Algorithms" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Algorithms"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Algorithms</span> </div> </a> <ul id="toc-Algorithms-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Intertask_communication_and_resource_sharing" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Intertask_communication_and_resource_sharing"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Intertask communication and resource sharing</span> </div> </a> <button aria-controls="toc-Intertask_communication_and_resource_sharing-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Intertask communication and resource sharing subsection</span> </button> <ul id="toc-Intertask_communication_and_resource_sharing-sublist" class="vector-toc-list"> <li id="toc-Temporarily_masking/disabling_interrupts" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Temporarily_masking/disabling_interrupts"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Temporarily masking/disabling interrupts</span> </div> </a> <ul id="toc-Temporarily_masking/disabling_interrupts-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Mutexes" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Mutexes"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Mutexes</span> </div> </a> <ul id="toc-Mutexes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Message_passing" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Message_passing"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.3</span> <span>Message passing</span> </div> </a> <ul id="toc-Message_passing-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Interrupt_handlers_and_the_scheduler" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Interrupt_handlers_and_the_scheduler"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Interrupt handlers and the scheduler</span> </div> </a> <ul id="toc-Interrupt_handlers_and_the_scheduler-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Memory_allocation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Memory_allocation"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Memory allocation</span> </div> </a> <ul id="toc-Memory_allocation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Real-time operating system</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 36 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-36" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">36 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D9%86%D8%B8%D8%A7%D9%85_%D8%AA%D8%B4%D8%BA%D9%8A%D9%84_%D9%81%D9%8A_%D8%A7%D9%84%D8%B2%D9%85%D9%86_%D8%A7%D9%84%D8%AD%D9%82%D9%8A%D9%82%D9%8A" title="نظام تشغيل في الزمن الحقيقي – Arabic" lang="ar" hreflang="ar" data-title="نظام تشغيل في الزمن الحقيقي" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/%D0%90%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D1%8B%D0%B9%D0%BD%D0%B0%D1%8F_%D1%81%D1%96%D1%81%D1%82%D1%8D%D0%BC%D0%B0_%D1%80%D1%8D%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D0%B3%D0%B0_%D1%87%D0%B0%D1%81%D1%83" title="Аперацыйная сістэма рэальнага часу – Belarusian" lang="be" hreflang="be" data-title="Аперацыйная сістэма рэальнага часу" data-language-autonym="Беларуская" data-language-local-name="Belarusian" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE-%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%B2%D0%B0_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0" title="Реално-времева операционна система – Bulgarian" lang="bg" hreflang="bg" data-title="Реално-времева операционна система" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Sistemi_realnog_vremena" title="Sistemi realnog vremena – Bosnian" lang="bs" hreflang="bs" data-title="Sistemi realnog vremena" data-language-autonym="Bosanski" data-language-local-name="Bosnian" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Sistema_operatiu_de_temps_real" title="Sistema operatiu de temps real – Catalan" lang="ca" hreflang="ca" data-title="Sistema operatiu de temps real" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Opera%C4%8Dn%C3%AD_syst%C3%A9m_re%C3%A1ln%C3%A9ho_%C4%8Dasu" title="Operační systém reálného času – Czech" lang="cs" hreflang="cs" data-title="Operační systém reálného času" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Realtidsoperativsystem" title="Realtidsoperativsystem – Danish" lang="da" hreflang="da" data-title="Realtidsoperativsystem" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Echtzeitbetriebssystem" title="Echtzeitbetriebssystem – German" lang="de" hreflang="de" data-title="Echtzeitbetriebssystem" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Reaalaja_operatsioonis%C3%BCsteem" title="Reaalaja operatsioonisüsteem – Estonian" lang="et" hreflang="et" data-title="Reaalaja operatsioonisüsteem" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Sistema_operativo_de_tiempo_real" title="Sistema operativo de tiempo real – Spanish" lang="es" hreflang="es" data-title="Sistema operativo de tiempo real" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B3%DB%8C%D8%B3%D8%AA%D9%85%E2%80%8C%D8%B9%D8%A7%D9%85%D9%84_%D8%A8%DB%8C%E2%80%8C%D8%AF%D8%B1%D9%86%DA%AF" title="سیستمعامل بیدرنگ – Persian" lang="fa" hreflang="fa" data-title="سیستمعامل بیدرنگ" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation_temps_r%C3%A9el" title="Système d'exploitation temps réel – French" lang="fr" hreflang="fr" data-title="Système d'exploitation temps réel" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%8B%A4%EC%8B%9C%EA%B0%84_%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C" title="실시간 운영체제 – Korean" lang="ko" hreflang="ko" data-title="실시간 운영체제" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/%D4%BB%D6%80%D5%A1%D5%AF%D5%A1%D5%B6_%D5%AA%D5%A1%D5%B4%D5%A1%D5%B6%D5%A1%D5%AF%D5%AB_%D6%85%D5%BA%D5%A5%D6%80%D5%A1%D6%81%D5%AB%D5%B8%D5%B6_%D5%B0%D5%A1%D5%B4%D5%A1%D5%AF%D5%A1%D6%80%D5%A3%D5%A5%D6%80" title="Իրական ժամանակի օպերացիոն համակարգեր – Armenian" lang="hy" hreflang="hy" data-title="Իրական ժամանակի օպերացիոն համակարգեր" data-language-autonym="Հայերեն" data-language-local-name="Armenian" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%B8%E0%A4%95%E0%A4%BE%E0%A4%B2_%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A4%9A%E0%A4%BE%E0%A4%B2%E0%A4%A8_%E0%A4%A4%E0%A4%82%E0%A4%A4%E0%A5%8D%E0%A4%B0" title="सकाल प्रचालन तंत्र – Hindi" lang="hi" hreflang="hi" data-title="सकाल प्रचालन तंत्र" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Sistema_operativo_real-time" title="Sistema operativo real-time – Italian" lang="it" hreflang="it" data-title="Sistema operativo real-time" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/%D0%9D%D0%B0%D2%9B%D1%82%D1%8B_%D1%83%D0%B0%D2%9B%D1%8B%D1%82%D1%82%D1%8B%D2%A3_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F%D0%BB%D1%8B%D2%9B_%D0%B6%D2%AF%D0%B9%D0%B5%D1%81%D1%96" title="Нақты уақыттың операциялық жүйесі – Kazakh" lang="kk" hreflang="kk" data-title="Нақты уақыттың операциялық жүйесі" data-language-autonym="Қазақша" data-language-local-name="Kazakh" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Realaus_laiko_operacin%C4%97_sistema" title="Realaus laiko operacinė sistema – Lithuanian" lang="lt" hreflang="lt" data-title="Realaus laiko operacinė sistema" data-language-autonym="Lietuvių" data-language-local-name="Lithuanian" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Realtimebesturingssysteem" title="Realtimebesturingssysteem – Dutch" lang="nl" hreflang="nl" data-title="Realtimebesturingssysteem" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0" title="リアルタイムオペレーティングシステム – Japanese" lang="ja" hreflang="ja" data-title="リアルタイムオペレーティングシステム" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Sanntidsoperativsystem" title="Sanntidsoperativsystem – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Sanntidsoperativsystem" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Sanntidsoperativsystem" title="Sanntidsoperativsystem – Norwegian Nynorsk" lang="nn" hreflang="nn" data-title="Sanntidsoperativsystem" data-language-autonym="Norsk nynorsk" data-language-local-name="Norwegian Nynorsk" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/System_operacyjny_czasu_rzeczywistego" title="System operacyjny czasu rzeczywistego – Polish" lang="pl" hreflang="pl" data-title="System operacyjny czasu rzeczywistego" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Sistema_operacional_de_tempo_real" title="Sistema operacional de tempo real – Portuguese" lang="pt" hreflang="pt" data-title="Sistema operacional de tempo real" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Sistem_de_operare_%C3%AEn_timp_real" title="Sistem de operare în timp real – Romanian" lang="ro" hreflang="ro" data-title="Sistem de operare în timp real" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8" title="Операционная система реального времени – Russian" lang="ru" hreflang="ru" data-title="Операционная система реального времени" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/%E0%B6%AD%E0%B6%AE%E0%B7%8A%E2%80%8D%E0%B6%BA_%E0%B6%9A%E0%B7%8F%E0%B6%BD_%E0%B6%B8%E0%B7%99%E0%B7%84%E0%B7%99%E0%B6%BA%E0%B7%94%E0%B6%B8%E0%B7%8A_%E0%B6%B4%E0%B6%AF%E0%B7%8A%E0%B6%B0%E0%B6%AD%E0%B7%92" title="තථ්ය කාල මෙහෙයුම් පද්ධති – Sinhala" lang="si" hreflang="si" data-title="තථ්ය කාල මෙහෙයුම් පද්ධති" data-language-autonym="සිංහල" data-language-local-name="Sinhala" class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Real-time_operating_system" title="Real-time operating system – Simple English" lang="en-simple" hreflang="en-simple" data-title="Real-time operating system" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Reaaliaikainen_k%C3%A4ytt%C3%B6j%C3%A4rjestelm%C3%A4" title="Reaaliaikainen käyttöjärjestelmä – Finnish" lang="fi" hreflang="fi" data-title="Reaaliaikainen käyttöjärjestelmä" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Realtidsoperativsystem" title="Realtidsoperativsystem – Swedish" lang="sv" hreflang="sv" data-title="Realtidsoperativsystem" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/%E0%AE%A8%E0%AE%BF%E0%AE%95%E0%AE%B4%E0%AF%8D%E0%AE%A8%E0%AF%87%E0%AE%B0_%E0%AE%87%E0%AE%AF%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%81%E0%AE%A4%E0%AE%B3%E0%AE%AE%E0%AF%8D" title="நிகழ்நேர இயக்குதளம் – Tamil" lang="ta" hreflang="ta" data-title="நிகழ்நேர இயக்குதளம்" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A3%E0%B8%B0%E0%B8%9A%E0%B8%9A%E0%B8%9B%E0%B8%8F%E0%B8%B4%E0%B8%9A%E0%B8%B1%E0%B8%95%E0%B8%B4%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B9%80%E0%B8%A7%E0%B8%A5%E0%B8%B2%E0%B8%88%E0%B8%A3%E0%B8%B4%E0%B8%87" title="ระบบปฏิบัติการแบบเวลาจริง – Thai" lang="th" hreflang="th" data-title="ระบบปฏิบัติการแบบเวลาจริง" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/RTOS" title="RTOS – Turkish" lang="tr" hreflang="tr" data-title="RTOS" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D1%96%D0%B9%D0%BD%D0%B0_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D1%87%D0%B0%D1%81%D1%83" title="Операційна система реального часу – Ukrainian" lang="uk" hreflang="uk" data-title="Операційна система реального часу" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/H%E1%BB%87_%C4%91i%E1%BB%81u_h%C3%A0nh_th%E1%BB%9Di_gian_th%E1%BB%B1c" title="Hệ điều hành thời gian thực – Vietnamese" lang="vi" hreflang="vi" data-title="Hệ điều hành thời gian thực" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E5%AE%9E%E6%97%B6%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F" title="实时操作系统 – Chinese" lang="zh" hreflang="zh" data-title="实时操作系统" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q213666#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Real-time_operating_system" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Real-time_operating_system" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Real-time_operating_system"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Real-time_operating_system&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Real-time_operating_system&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Real-time_operating_system"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Real-time_operating_system&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Real-time_operating_system&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Real-time_operating_system" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Real-time_operating_system" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Real-time_operating_system&oldid=1253656346" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Real-time_operating_system&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Real-time_operating_system&id=1253656346&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FReal-time_operating_system"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FReal-time_operating_system"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Real-time_operating_system&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Real-time_operating_system&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Real-time_operating_systems" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q213666" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Computer operating system for applications with critical timing constraints</div> <p>A <b>real-time operating system</b> (<b>RTOS</b>) is an <a href="/wiki/Operating_system" title="Operating system">operating system</a> (OS) for <a href="/wiki/Real-time_computing" title="Real-time computing">real-time computing</a> applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a <a href="/wiki/Time-sharing" title="Time-sharing">time-sharing</a> operating system, such as Unix, which manages the sharing of system resources with a scheduler, data buffers, or fixed task prioritization in multitasking or multiprogramming environments. All operations must verifiably complete within given time and resource constraints or else <a href="/wiki/Fail_safe" class="mw-redirect" title="Fail safe">fail safe</a>. Real-time operating systems are <a href="/wiki/Event-driven_programming" title="Event-driven programming">event-driven</a> and <a href="/wiki/Preemption_(computing)" title="Preemption (computing)">preemptive</a>, meaning the OS can monitor the relevant priority of competing tasks, and make changes to the task priority. Event-driven systems switch between tasks based on their priorities, while time-sharing systems switch the task based on clock <a href="/wiki/Interrupts" class="mw-redirect" title="Interrupts">interrupts</a>.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Characteristics">Characteristics</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=1" title="Edit section: Characteristics"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A key characteristic of an RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's <a href="/wiki/Task_(computing)" title="Task (computing)">task</a>; the variability is "<a href="/wiki/Jitter" title="Jitter">jitter</a>".<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> A "hard" real-time operating system (hard RTOS) has less jitter than a "soft" real-time operating system (soft RTOS); a late answer is a wrong answer in a hard RTOS while a late answer is acceptable in a soft RTOS. The chief design goal is not high <a href="/wiki/Throughput" class="mw-redirect" title="Throughput">throughput</a>, but rather a guarantee of a <a href="/wiki/Real-time_computing#Criteria_for_real-time_computing" title="Real-time computing">soft or hard</a> performance category. An RTOS that can usually or generally meet a deadline is a soft real-time OS, but if it can meet a deadline <a href="/wiki/Deterministic_algorithm" title="Deterministic algorithm">deterministically</a> it is a hard real-time OS.<sup id="cite_ref-Tanenbaum_3-0" class="reference"><a href="#cite_note-Tanenbaum-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> </p><p>An RTOS has an advanced algorithm for <a href="/wiki/Scheduling_(computing)" title="Scheduling (computing)">scheduling</a>. Scheduler flexibility enables a wider, computer-system orchestration of process priorities, but a real-time OS is more frequently dedicated to a narrow set of applications. Key factors in a real-time OS are minimal <a href="/wiki/Interrupt_latency" title="Interrupt latency">interrupt latency</a> and minimal <a href="/wiki/Thread_switching_latency" class="mw-redirect" title="Thread switching latency">thread switching latency</a>; a real-time OS is valued more for how quickly or how predictably it can respond than for the amount of work it can perform in a given period of time.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Design_philosophies">Design philosophies</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=2" title="Edit section: Design philosophies"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An RTOS is an operating system in which the time taken to process an input stimulus is less than the time lapsed until the next input stimulus of the same type. </p><p>The most common designs are: </p> <ul><li>Event-driven – <a href="/wiki/Context_switch" title="Context switch">switches tasks</a> only when an event of higher priority needs servicing; called <a href="/wiki/Preemption_(computing)" title="Preemption (computing)">preemptive priority</a>, or priority scheduling.</li> <li>Time-sharing – switches tasks on a regular clocked <a href="/wiki/Interrupt" title="Interrupt">interrupt</a>, and on events; called <a href="/wiki/Round-robin_scheduling" title="Round-robin scheduling">round-robin</a>.</li></ul> <p><a href="/wiki/Time_sharing" class="mw-redirect" title="Time sharing">Time sharing</a> designs switch tasks more often than strictly needed, but give smoother <a href="/wiki/Computer_multitasking" title="Computer multitasking">multitasking</a>, giving the illusion that a process or user has sole use of a machine. </p><p>Early <a href="/wiki/CPU_design" class="mw-redirect" title="CPU design">CPU designs</a> needed many cycles to switch tasks during which the CPU could do nothing else useful. Because switching took so long, early OSes tried to minimize wasting CPU time by avoiding unnecessary task switching. </p> <div class="mw-heading mw-heading2"><h2 id="Scheduling">Scheduling</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=3" title="Edit section: Scheduling"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In typical designs, a task has three states: </p> <ol><li>Running (executing on the CPU);</li> <li>Ready (ready to be executed);</li> <li>Blocked (waiting for an event, I/O for example).</li></ol> <p>Most tasks are blocked or ready most of the time because generally only one task can run at a time per <a href="/wiki/Central_processing_unit" title="Central processing unit">CPU</a> <a href="/wiki/Multi-core_processor" title="Multi-core processor">core</a>. The number of items in the ready queue can vary greatly, depending on the number of tasks the system needs to perform and the type of scheduler that the system uses. On simpler non-preemptive but still multitasking systems, a task has to give up its time on the CPU to other tasks, which can cause the ready queue to have a greater number of overall tasks in the ready to be executed state (<a href="/wiki/Resource_starvation" class="mw-redirect" title="Resource starvation">resource starvation</a>). </p><p>Usually, the data structure of the ready list in the scheduler is designed to minimize the worst-case length of time spent in the scheduler's critical section, during which preemption is inhibited, and, in some cases, all interrupts are disabled, but the choice of data structure depends also on the maximum number of tasks that can be on the ready list. </p><p>If there are never more than a few tasks on the ready list, then a <a href="/wiki/Doubly_linked_list" title="Doubly linked list">doubly linked list</a> of ready tasks is likely optimal. If the ready list usually contains only a few tasks but occasionally contains more, then the list should be sorted by priority, so that finding the highest priority task to run does not require traversing the list. Instead, inserting a task requires walking the list. </p><p>During this search, preemption should not be inhibited. Long critical sections should be divided into smaller pieces. If an interrupt occurs that makes a high priority task ready during the insertion of a low priority task, that high priority task can be inserted and run immediately before the low priority task is inserted. </p><p>The critical response time, sometimes called the flyback time, is the time it takes to queue a new ready task and restore the state of the highest priority task to running. In a well-designed RTOS, readying a new task will take 3 to 20 instructions per ready-queue entry, and restoration of the highest-priority ready task will take 5 to 30 instructions. </p><p>In advanced systems, real-time tasks share computing resources with many non-real-time tasks, and the ready list can be arbitrarily long. In such systems, a scheduler ready list implemented as a linked list would be inadequate. </p> <div class="mw-heading mw-heading3"><h3 id="Algorithms">Algorithms</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=4" title="Edit section: Algorithms"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some commonly used RTOS scheduling algorithms are:<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p> <ul><li><a href="/wiki/Cooperative_multitasking" title="Cooperative multitasking">Cooperative scheduling</a></li> <li><a href="/wiki/Preemption_(computing)" title="Preemption (computing)">Preemptive scheduling</a> <ul><li><a href="/wiki/Rate-monotonic_scheduling" title="Rate-monotonic scheduling">Rate-monotonic scheduling</a></li> <li><a href="/wiki/Round-robin_scheduling" title="Round-robin scheduling">Round-robin scheduling</a></li> <li><a href="/wiki/Fixed-priority_pre-emptive_scheduling" title="Fixed-priority pre-emptive scheduling">Fixed-priority pre-emptive scheduling</a>, an implementation of <a href="/wiki/Time_slice" class="mw-redirect" title="Time slice">preemptive time slicing</a></li> <li>Fixed-Priority Scheduling with Deferred Preemption</li> <li>Fixed-Priority Non-preemptive Scheduling</li> <li>Critical section preemptive scheduling</li> <li>Static-time scheduling</li></ul></li> <li><a href="/wiki/Earliest_deadline_first_scheduling" title="Earliest deadline first scheduling">Earliest Deadline First</a> approach</li> <li><a href="/wiki/Stochastic" title="Stochastic">Stochastic</a> <a href="/wiki/Directed_graph" title="Directed graph">digraphs</a> with <a href="/wiki/Thread_(computer_science)" class="mw-redirect" title="Thread (computer science)">multi-threaded</a> <a href="/wiki/Tree_traversal" title="Tree traversal">graph traversal</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Intertask_communication_and_resource_sharing">Intertask communication and resource sharing</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=5" title="Edit section: Intertask communication and resource sharing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A multitasking operating system like <a href="/wiki/Unix" title="Unix">Unix</a> is poor at real-time tasks. The scheduler gives the highest priority to jobs with the lowest demand on the computer, so there is no way to ensure that a time-critical job will have access to enough resources. Multitasking systems must manage sharing data and hardware resources among multiple tasks. It is usually unsafe for two tasks to access the same specific data or hardware resource simultaneously.<sup id="cite_ref-phraner1984fall_6-0" class="reference"><a href="#cite_note-phraner1984fall-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> There are three common approaches to resolve this problem: </p> <div class="mw-heading mw-heading3"><h3 id="Temporarily_masking/disabling_interrupts"><span id="Temporarily_masking.2Fdisabling_interrupts"></span>Temporarily masking/disabling interrupts</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=6" title="Edit section: Temporarily masking/disabling interrupts"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>General-purpose operating systems usually do not allow user programs to mask (disable) <a href="/wiki/Interrupt" title="Interrupt">interrupts</a>, because the user program could control the CPU for as long as it is made to. Some modern CPUs do not allow <a href="/wiki/User_mode" class="mw-redirect" title="User mode">user mode</a> code to disable interrupts as such control is considered a key operating system resource. Many embedded systems and RTOSs, however, allow the application itself to run in <a href="/wiki/Kernel_mode" class="mw-redirect" title="Kernel mode">kernel mode</a> for greater <a href="/wiki/System_call" title="System call">system call</a> efficiency and also to permit the application to have greater control of the operating environment without requiring OS intervention. </p><p>On single-processor systems, an application running in kernel mode and masking interrupts is the lowest overhead method to prevent simultaneous access to a shared resource. While interrupts are masked and the current task does not make a blocking OS call, the current task has <i>exclusive</i> use of the CPU since no other task or interrupt can take control, so the <a href="/wiki/Critical_section" title="Critical section">critical section</a> is protected. When the task exits its critical section, it must unmask interrupts; pending interrupts, if any, will then execute. Temporarily masking interrupts should only be done when the longest path through the critical section is shorter than the desired maximum <a href="/wiki/Interrupt_latency" title="Interrupt latency">interrupt latency</a>. Typically this method of protection is used only when the critical section is just a few instructions and contains no loops. This method is ideal for protecting hardware bit-mapped registers when the bits are controlled by different tasks. </p> <div class="mw-heading mw-heading3"><h3 id="Mutexes">Mutexes</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=7" title="Edit section: Mutexes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>When the shared resource must be reserved without blocking all other tasks (such as waiting for Flash memory to be written), it is better to use mechanisms also available on general-purpose operating systems, such as a <a href="/wiki/Mutex" class="mw-redirect" title="Mutex">mutex</a> and OS-supervised interprocess messaging. Such mechanisms involve system calls, and usually invoke the OS's dispatcher code on exit, so they typically take hundreds of CPU instructions to execute, while masking interrupts may take as few as one instruction on some processors. </p><p>A (non-recursive) mutex is either <b>locked</b> or unlocked. When a task has locked the mutex, all other tasks must wait for the mutex to be unlocked by its <i> owner</i> - the original thread. A task may set a timeout on its wait for a mutex. There are several well-known problems with mutex based designs such as <a href="/wiki/Priority_inversion" title="Priority inversion">priority inversion</a> and <a href="/wiki/Deadlock_(computer_science)" title="Deadlock (computer science)">deadlocks</a>. </p><p>In <a href="/wiki/Priority_inversion" title="Priority inversion">priority inversion</a> a high priority task waits because a low priority task has a mutex, but the lower priority task is not given CPU time to finish its work. A typical solution is to have the task that owns a mutex 'inherit' the priority of the highest waiting task. But this simple approach gets more complex when there are multiple levels of waiting: task <i>A</i> waits for a mutex locked by task <i>B</i>, which waits for a mutex locked by task <i>C</i>. Handling multiple levels of inheritance causes other code to run in high priority context and thus can cause starvation of medium-priority threads. </p><p>In a <a href="/wiki/Deadlock_(computer_science)" title="Deadlock (computer science)">deadlock</a>, two or more tasks lock mutex without timeouts and then wait forever for the other task's mutex, creating a cyclic dependency. The simplest deadlock scenario occurs when two tasks alternately lock two mutex, but in the opposite order. Deadlock is prevented by careful design. </p> <div class="mw-heading mw-heading3"><h3 id="Message_passing">Message passing</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=8" title="Edit section: Message passing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The other approach to resource sharing is for tasks to send messages in an organized <a href="/wiki/Message_passing" title="Message passing">message passing</a> scheme. In this paradigm, the resource is managed directly by only one task. When another task wants to interrogate or manipulate the resource, it sends a message to the managing task. Although their real-time behavior is less crisp than <a href="/wiki/Semaphore_(programming)" title="Semaphore (programming)">semaphore</a> systems, simple message-based systems avoid most protocol deadlock hazards, and are generally better-behaved than semaphore systems. However, problems like those of semaphores are possible. Priority inversion can occur when a task is working on a low-priority message and ignores a higher-priority message (or a message originating indirectly from a high priority task) in its incoming message queue. Protocol deadlocks can occur when two or more tasks wait for each other to send response messages. </p> <div class="mw-heading mw-heading2"><h2 id="Interrupt_handlers_and_the_scheduler">Interrupt handlers and the scheduler</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=9" title="Edit section: Interrupt handlers and the scheduler"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Since an interrupt handler blocks the highest priority task from running, and since real-time operating systems are designed to keep thread latency to a minimum, interrupt handlers are typically kept as short as possible. The interrupt handler defers all interaction with the hardware if possible; typically all that is necessary is to acknowledge or disable the interrupt (so that it won't occur again when the interrupt handler returns) and notify a task that work needs to be done. This can be done by unblocking a driver task through releasing a semaphore, setting a flag or sending a message. A scheduler often provides the ability to unblock a task from interrupt handler context. </p><p>An OS maintains catalogues of objects it manages such as threads, mutexes, memory, and so on. Updates to this catalogue must be strictly controlled. For this reason, it can be problematic when an interrupt handler calls an OS function while the application is in the act of also doing so. The OS function called from an interrupt handler could find the object database to be in an inconsistent state because of the application's update. There are two major approaches to deal with this problem: the unified architecture and the segmented architecture. RTOSs implementing the unified architecture solve the problem by simply disabling interrupts while the internal catalogue is updated. The downside of this is that interrupt latency increases, potentially losing interrupts. The segmented architecture does not make direct OS calls but delegates the OS related work to a separate handler. This handler runs at a higher priority than any thread but lower than the interrupt handlers. The advantage of this architecture is that it adds very few cycles to interrupt latency. As a result, OSes which implement the segmented architecture are more predictable and can deal with higher interrupt rates compared to the unified architecture.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (November 2017)">citation needed</span></a></i>]</sup> </p><p>Similarly, the <a href="/wiki/System_Management_Mode" title="System Management Mode">System Management Mode</a> on x86 compatible hardware can take a lot of time before it returns control to the operating system. </p> <div class="mw-heading mw-heading2"><h2 id="Memory_allocation">Memory allocation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=10" title="Edit section: Memory allocation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Memory_allocation" class="mw-redirect" title="Memory allocation">Memory allocation</a> is more critical in a real-time operating system than in other operating systems. </p><p>First, for stability there cannot be <a href="/wiki/Memory_leak" title="Memory leak">memory leaks</a> (memory that is allocated but not freed after use). The device should work indefinitely, without ever needing a reboot.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (September 2024)">citation needed</span></a></i>]</sup> For this reason, <a href="/wiki/Dynamic_memory_allocation" class="mw-redirect" title="Dynamic memory allocation">dynamic memory allocation</a> is frowned upon.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (April 2018)">citation needed</span></a></i>]</sup> Whenever possible, all required memory allocation is specified statically at compile time. </p><p>Another reason to avoid dynamic memory allocation is memory fragmentation. With frequent allocation and releasing of small chunks of memory, a situation may occur where available memory is divided into several sections and the RTOS cannot allocate a large enough continuous block of memory, although there is enough free memory. Secondly, speed of allocation is important. A standard memory allocation scheme scans a linked list of indeterminate length to find a suitable free memory block,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> which is unacceptable in a RTOS since memory allocation has to occur within a certain amount of time. </p><p>Because mechanical disks have much longer and more unpredictable response times, swapping to disk files is not used for the same reasons as RAM allocation discussed above. </p><p>The simple <a href="/wiki/Memory_management#FIXED-SIZE" title="Memory management">fixed-size-blocks algorithm</a> works quite well for simple <a href="/wiki/Embedded_system" title="Embedded system">embedded systems</a> because of its low overhead. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=11" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1235681985">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1237033735">@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}</style><div class="side-box side-box-right plainlinks sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/60px-Wikibooks-logo-en-noslogan.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/80px-Wikibooks-logo-en-noslogan.svg.png 2x" data-file-width="400" data-file-height="400" /></span></span></div> <div class="side-box-text plainlist">The Wikibook <i><a href="https://en.wikibooks.org/wiki/Embedded_Systems" class="extiw" title="wikibooks:Embedded Systems">Embedded Systems</a></i> has a page on the topic of: <i><b><a href="https://en.wikibooks.org/wiki/Embedded_Systems/Real-Time_Operating_Systems" class="extiw" title="wikibooks:Embedded Systems/Real-Time Operating Systems">Real-Time Operating Systems</a></b></i></div></div> </div> <style data-mw-deduplicate="TemplateStyles:r1184024115">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col" style="column-width: 25em;"> <ul><li><a href="/wiki/Adaptive_Partition_Scheduler" class="mw-redirect" title="Adaptive Partition Scheduler">Adaptive Partition Scheduler</a></li> <li><a href="/wiki/Comparison_of_real-time_operating_systems" title="Comparison of real-time operating systems">Comparison of real-time operating systems</a></li> <li><a href="/wiki/Data_General_RDOS" title="Data General RDOS">Data General RDOS</a></li> <li><a href="/wiki/DO-178B" title="DO-178B">DO-178B</a></li> <li><a href="/wiki/Earliest_deadline_first_scheduling" title="Earliest deadline first scheduling">Earliest deadline first scheduling</a></li> <li><a href="/wiki/Firmware" title="Firmware">Firmware</a></li> <li><a href="/wiki/FreeRTOS" title="FreeRTOS">FreeRTOS</a></li> <li><a href="/wiki/Interruptible_operating_system" title="Interruptible operating system">Interruptible operating system</a></li> <li><a href="/wiki/INtime" title="INtime">INtime</a></li> <li><a href="/wiki/Least_slack_time_scheduling" title="Least slack time scheduling">Least slack time scheduling</a></li> <li><a href="/wiki/OSEK" title="OSEK">OSEK</a></li> <li><a href="/wiki/POSIX" title="POSIX">POSIX</a></li> <li><a href="/wiki/PX5_RTOS" title="PX5 RTOS">PX5 RTOS</a></li> <li><a href="/wiki/QNX" title="QNX">QNX</a></li> <li><a href="/wiki/VxWorks" title="VxWorks">VxWorks</a></li> <li><a href="/wiki/Rate-monotonic_scheduling" title="Rate-monotonic scheduling">Rate-monotonic scheduling</a></li> <li><a href="/wiki/Robot_Operating_System" title="Robot Operating System">Robot Operating System</a></li> <li><a href="/wiki/SCADA" title="SCADA">SCADA</a></li> <li><a href="/wiki/Synchronous_programming_language" title="Synchronous programming language">Synchronous programming language</a></li> <li><a href="/wiki/Time-triggered_system" class="mw-redirect" title="Time-triggered system">Time-triggered system</a></li> <li><a href="/wiki/Time-utility_function" title="Time-utility function">Time-utility function</a></li> <li><a href="/wiki/ThreadX" title="ThreadX">ThreadX</a></li> <li><a href="/wiki/Micro-Controller_Operating_Systems" title="Micro-Controller Operating Systems">Micro-Controller Operating Systems</a></li> <li><a href="/wiki/List_of_operating_systems" title="List of operating systems">List of operating systems</a></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Real-time_operating_system&action=edit&section=12" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.benzinga.com/pressreleases/23/09/34524667/real-time-operating-systems-rtos-market-scope-with-regional-analysis-2023-2031">"Real-time Operating Systems (RTOS)"</a>. <i>Benzinga</i>. 13 September 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">13 September</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Benzinga&rft.atitle=Real-time+Operating+Systems+%28RTOS%29&rft.date=2023-09-13&rft_id=https%3A%2F%2Fwww.benzinga.com%2Fpressreleases%2F23%2F09%2F34524667%2Freal-time-operating-systems-rtos-market-scope-with-regional-analysis-2023-2031&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReal-time+operating+system" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110723091051/http://www.chibios.org/dokuwiki/doku.php?id=chibios:articles:jitter">"Response Time and Jitter"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.chibios.org/dokuwiki/doku.php?id=chibios:articles:jitter">the original</a> on 2011-07-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-12-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Response+Time+and+Jitter&rft_id=http%3A%2F%2Fwww.chibios.org%2Fdokuwiki%2Fdoku.php%3Fid%3Dchibios%3Aarticles%3Ajitter&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReal-time+operating+system" class="Z3988"></span></span> </li> <li id="cite_note-Tanenbaum-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-Tanenbaum_3-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTanenbaum2008" class="citation book cs1">Tanenbaum, Andrew (2008). <i>Modern Operating Systems</i>. Upper Saddle River, NJ: Pearson/Prentice Hall. p. 160. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-13-600663-3" title="Special:BookSources/978-0-13-600663-3"><bdi>978-0-13-600663-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Modern+Operating+Systems&rft.place=Upper+Saddle+River%2C+NJ&rft.pages=160&rft.pub=Pearson%2FPrentice+Hall&rft.date=2008&rft.isbn=978-0-13-600663-3&rft.aulast=Tanenbaum&rft.aufirst=Andrew&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReal-time+operating+system" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110723091110/http://www.chibios.org/dokuwiki/doku.php?id=chibios:articles:rtos_concepts">"RTOS Concepts"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.chibios.org/dokuwiki/doku.php?id=chibios:articles:rtos_concepts">the original</a> on 2011-07-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-12-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=RTOS+Concepts&rft_id=http%3A%2F%2Fwww.chibios.org%2Fdokuwiki%2Fdoku.php%3Fid%3Dchibios%3Aarticles%3Artos_concepts&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReal-time+operating+system" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSamek2023" class="citation web cs1">Samek, Miro (23 May 2023). <a rel="nofollow" class="external text" href="https://www.embedded.com/programming-embedded-systems-rtos-what-is-real-time/">"Programming embedded systems: RTOS – what is real-time?"</a>. <i>Embedded.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">13 September</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Embedded.com&rft.atitle=Programming+embedded+systems%3A+RTOS+%E2%80%93+what+is+real-time%3F&rft.date=2023-05-23&rft.aulast=Samek&rft.aufirst=Miro&rft_id=https%3A%2F%2Fwww.embedded.com%2Fprogramming-embedded-systems-rtos-what-is-real-time%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReal-time+operating+system" class="Z3988"></span></span> </li> <li id="cite_note-phraner1984fall-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-phraner1984fall_6-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPhraner1984" class="citation magazine cs1">Phraner, Ralph A. (Fall 1984). <a rel="nofollow" class="external text" href="https://archive.org/stream/byte-magazine-1984-09/1984_09_BYTE_09-09_Guide_to_the_IBM_PCs#page/n61/mode/2up">"The Future of Unix on the IBM PC"</a>. <i><a href="/wiki/Byte_(magazine)" title="Byte (magazine)">Byte</a></i>. pp. 59–64.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Byte&rft.atitle=The+Future+of+Unix+on+the+IBM+PC&rft.ssn=fall&rft.pages=59-64&rft.date=1984&rft.aulast=Phraner&rft.aufirst=Ralph+A.&rft_id=https%3A%2F%2Farchive.org%2Fstream%2Fbyte-magazine-1984-09%2F1984_09_BYTE_09-09_Guide_to_the_IBM_PCs%23page%2Fn61%2Fmode%2F2up&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReal-time+operating+system" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://courses.engr.illinois.edu/cs241/sp2012/lectures/08-malloc.pdf">"CS 241, University of Illinois"</a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=CS+241%2C+University+of+Illinois&rft_id=http%3A%2F%2Fcourses.engr.illinois.edu%2Fcs241%2Fsp2012%2Flectures%2F08-malloc.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AReal-time+operating+system" class="Z3988"></span></span> </li> </ol></div></div> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Real-time_operating_systems_(RTOS)" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Real-time_operating_systems" title="Template:Real-time operating systems"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Real-time_operating_systems" title="Template talk:Real-time operating systems"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Real-time_operating_systems" title="Special:EditPage/Template:Real-time operating systems"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Real-time_operating_systems_(RTOS)" style="font-size:114%;margin:0 4em"><a class="mw-selflink selflink">Real-time operating systems</a> (RTOS)</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Operating_system" title="Operating system">Operating<br />systems</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/POSIX" title="POSIX">POSIX</a> support</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Unix-like" title="Unix-like">Unix-like</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/DNIX" title="DNIX">DNIX</a></i></li> <li><a href="/wiki/Junos_OS" title="Junos OS">Junos OS</a></li> <li><a href="/wiki/LynxOS" title="LynxOS">LynxOS</a></li> <li><i><a href="/wiki/Multi-Environment_Real-Time" title="Multi-Environment Real-Time">Multi-Environment Real-Time</a></i>^ (<i>MERT</i> – <i>Unix-RT</i>)</li> <li><i><a href="/wiki/OS2000" title="OS2000">OS2000</a></i></li> <li><a href="/wiki/QNX" title="QNX">QNX</a>^</li> <li><a href="/wiki/Real-Time_Linux" class="mw-redirect" title="Real-Time Linux">Real-Time Linux</a>°</li> <li><a href="/wiki/RTLinux" title="RTLinux">RTLinux</a>°</li> <li><i><a href="/wiki/UNOS_(operating_system)" title="UNOS (operating system)">UNOS</a></i></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/LiteOS" title="LiteOS">LiteOS</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/LiteOS" title="LiteOS">LiteOS</a></i>°</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Partial</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/ChorusOS" title="ChorusOS">ChorusOS</a></i>^</li> <li><a href="/wiki/Integrity_(operating_system)" title="Integrity (operating system)">Integrity</a>^</li> <li><a href="/wiki/Nucleus_RTOS" title="Nucleus RTOS">Nucleus RTOS</a>^</li> <li><a href="/wiki/NuttX" title="NuttX">NuttX</a>^°</li> <li><a href="/wiki/Operating_System_Embedded" class="mw-redirect" title="Operating System Embedded">Operating System Embedded</a>^ (OSE)</li> <li><a href="/wiki/PX5_RTOS" title="PX5 RTOS">PX5 RTOS</a>^</li> <li><a href="/wiki/RIOT_(operating_system)" title="RIOT (operating system)">RIOT</a>^°</li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/TRON_project" title="TRON project">TRON</a> support</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ITRON_project" title="ITRON project">ITRON project</a></li> <li><a href="/wiki/T-Kernel" title="T-Kernel">T-Kernel</a> <ul><li><a href="/wiki/Micro_T-Kernel" title="Micro T-Kernel">Micro T-Kernel</a></li> <li><a href="/wiki/T-Engine_Forum" title="T-Engine Forum">T-Engine Forum</a> (organization)</li> <li><a href="/wiki/T-License" title="T-License">T-License</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Partial</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ECos" title="ECos">eCos</a>°</li> <li><a href="/wiki/RTEMS" title="RTEMS">RTEMS</a>°</li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Capability-based_security" title="Capability-based security">Capability-based</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/EROS_(microkernel)" title="EROS (microkernel)">EROS</a></i>^°</li> <li><a href="/wiki/SeL4" class="mw-redirect" title="SeL4">seL4</a>^°</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Java_virtual_machine" title="Java virtual machine">Java virtual machine</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/JavaOS#Chorus/Jazz" title="JavaOS">Chorus/Jazz</a></i>^ (<i><a href="/wiki/JavaOS" title="JavaOS">JavaOS</a></i> + <i><a href="/wiki/ChorusOS" title="ChorusOS">ChorusOS</a></i>^)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/DOS" title="DOS">DOS</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/Multiuser_DOS" title="Multiuser DOS">Multiuser DOS</a></i> <ul><li><i><a href="/wiki/Concurrent_DOS" class="mw-redirect" title="Concurrent DOS">Concurrent DOS</a></i></li> <li><i><a href="/wiki/FlexOS" title="FlexOS">FlexOS</a></i></li> <li><i><a href="/wiki/REAL/32" class="mw-redirect" title="REAL/32">REAL/32</a></i></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/L4_microkernel_family" title="L4 microkernel family">L4</a> kernel</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/L4Linux" title="L4Linux">L<sup>4</sup>Linux</a>^°</li> <li><a href="/wiki/PikeOS" title="PikeOS">PikeOS</a>^</li> <li><i><a href="/wiki/REX_OS" title="REX OS">REX OS</a></i>^</li> <li><a href="/wiki/Wombat_(operating_system)" title="Wombat (operating system)">Wombat</a>^°</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Psion_(company)" title="Psion (company)">Psion</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/EKA2" title="EKA2">EKA2</a></i>^° kernel → <i><a href="/wiki/Symbian" title="Symbian">Symbian</a> OS</i>^°</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Microsoft" title="Microsoft">Microsoft</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ThreadX" title="ThreadX">ThreadX</a>^</li> <li><a href="/wiki/Windows_Embedded_Compact" title="Windows Embedded Compact">Windows Embedded Compact</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/IBM" title="IBM">IBM</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/4680_OS" class="mw-redirect" title="4680 OS">4680 OS</a></i></li> <li><i><a href="/wiki/4690_Operating_System" title="4690 Operating System">4690 OS</a></i></li> <li><a href="/wiki/Transaction_Processing_Facility" title="Transaction Processing Facility">Transaction Processing Facility</a> (TPF)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Texas_Instruments" title="Texas Instruments">Texas Instruments</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/DSOS" title="DSOS">DSOS</a></i></li> <li><a href="/wiki/TI-RTOS#RTOS_kernel_overview" title="TI-RTOS">TI-RTOS Kernel</a>^°</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Digital_Equipment_Corporation" title="Digital Equipment Corporation">DEC</a> <a href="/wiki/PDP-11" title="PDP-11">PDP-11</a> <a href="/wiki/VAX" title="VAX">VAX</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/RSX-11" title="RSX-11">RSX-11</a></i></li> <li><i><a href="/wiki/RT-11" title="RT-11">RT-11</a></i></li> <li><i><a href="/wiki/VAXELN" title="VAXELN">VAXELN</a></i></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Low resource</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ChibiOS/RT" title="ChibiOS/RT">ChibiOS/RT</a>^°</li> <li><a href="/wiki/Contiki" title="Contiki">Contiki</a>°</li> <li><a href="/wiki/ERIKA_Enterprise" title="ERIKA Enterprise">ERIKA Enterprise</a>°</li> <li>FunkOS°</li> <li><a href="/wiki/Apache_Mynewt" title="Apache Mynewt">Mynewt</a>°</li> <li><i><a href="/wiki/Nano-RK" title="Nano-RK">Nano-RK</a></i>°</li> <li><a href="/wiki/OpenComRTOS" title="OpenComRTOS">OpenComRTOS</a>^</li> <li><a href="/wiki/PX5_RTOS" title="PX5 RTOS">PX5 RTOS</a>^</li> <li><a href="/wiki/RT-Thread" title="RT-Thread">RT-Thread</a>° Nano</li> <li><a href="/wiki/RIOT_(operating_system)" title="RIOT (operating system)">RIOT</a>°</li> <li><a href="/wiki/ThreadX" title="ThreadX">ThreadX</a>^</li> <li><a href="/wiki/Zephyr_(operating_system)" title="Zephyr (operating system)">Zephyr</a>^°</li></ul> </div></td></tr></tbody></table><div> <ul><li><i><a href="/wiki/BeRTOS" title="BeRTOS">BeRTOS</a></i>^°</li> <li><i><a href="/wiki/DioneOS" title="DioneOS">DioneOS</a></i></li> <li><a href="/wiki/Segger_Microcontroller_Systems" title="Segger Microcontroller Systems">embOS</a></li> <li><a href="/wiki/FreeRTOS" title="FreeRTOS">FreeRTOS</a>^°</li> <li><a href="/wiki/Micro-Controller_Operating_Systems" title="Micro-Controller Operating Systems">µC/OS</a>^°</li> <li><a href="/wiki/Green_Hills_Software#Real-time_operating_systems" title="Green Hills Software">µ-velOSity</a>^</li> <li><a href="/wiki/MQX" title="MQX">MQX</a>^</li> <li><a href="/wiki/OS-9" title="OS-9">OS-9</a> (<a href="/wiki/Microware" title="Microware">Microware</a>)</li> <li><a href="/wiki/Phantom_OS" title="Phantom OS">Phantom OS</a>^°</li> <li><i><a href="/wiki/PSOS_(real-time_operating_system)" title="PSOS (real-time operating system)">pSOS</a></i></li> <li><i><a href="/wiki/RMX_(operating_system)" title="RMX (operating system)">RMX</a></i></li> <li><a href="/wiki/RT-Thread" title="RT-Thread">RT-Thread</a>° Standard</li> <li><a href="/wiki/ScreenOS" title="ScreenOS">ScreenOS</a></li> <li><i><a href="/wiki/Sintran_III" title="Sintran III">Sintran III</a></i></li> <li><i><a href="/wiki/THEOS" title="THEOS">THEOS</a></i></li> <li><i><a href="/wiki/Thoth_(operating_system)" title="Thoth (operating system)">Thoth</a></i>^ → <i><a href="/wiki/Harmony_(operating_system)" title="Harmony (operating system)">Harmony</a></i>^</li> <li><a href="/wiki/Versatile_Real-Time_Executive" title="Versatile Real-Time Executive">VRTX</a>^</li> <li><a href="/wiki/VxWorks" title="VxWorks">VxWorks</a></li> <li><a href="/wiki/EulerOS" title="EulerOS">UniProton</a></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Software_framework" title="Software framework">Frameworks</a>, <a href="/wiki/Software_development_kit" title="Software development kit">kits</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <li><a href="/wiki/Robot_Operating_System" title="Robot Operating System">Robot Operating System</a>° 2</li> <li><a href="/wiki/RTAI" title="RTAI">RTAI</a>°</li> <li><a href="/wiki/TI-RTOS" title="TI-RTOS">TI-RTOS</a>^°</li> <li><a href="/wiki/Xenomai" title="Xenomai">Xenomai</a>°</li> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Programmer" title="Programmer">Developers</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Gordon_Bell_(QNX)" title="Gordon Bell (QNX)">Gordon Bell</a></li> <li><a href="/wiki/David_Cheriton" title="David Cheriton">David Cheriton</a></li> <li><a href="/wiki/Dave_Cutler" title="Dave Cutler">Dave Cutler</a></li> <li><a href="/wiki/Dan_Dodge" title="Dan Dodge">Dan Dodge</a></li> <li><a href="/wiki/Adam_Dunkels" title="Adam Dunkels">Adam Dunkels</a></li> <li><a href="/wiki/Ken_Sakamura" title="Ken Sakamura">Ken Sakamura</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><i>Italics</i> <b>= discontinued</b></li> <li><b>^ = <a href="/wiki/Microkernel" title="Microkernel">Microkernel</a></b></li> <li><b>° = <a href="/wiki/Open-source_software" title="Open-source software">Open-source software</a></b><br /><span class="noviewer" typeof="mw:File"><span title="List-Class article"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-Symbol_list_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-Symbol_list_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-Symbol_list_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Comparison_of_real-time_operating_systems" title="Comparison of real-time operating systems">Comparison</a></b> <span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Category:Real-time_operating_systems" title="Category:Real-time operating systems">Category</a></b></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Embedded_systems" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Embedded_systems" title="Template:Embedded systems"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Embedded_systems" title="Template talk:Embedded systems"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Embedded_systems" title="Special:EditPage/Template:Embedded systems"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Embedded_systems" style="font-size:114%;margin:0 4em"><a href="/wiki/Embedded_system" title="Embedded system">Embedded systems</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General terms</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Application-specific_integrated_circuit" title="Application-specific integrated circuit">ASIC</a></li> <li><a href="/wiki/Board_support_package" title="Board support package">Board support package</a></li> <li><a href="/wiki/Bootloader" title="Bootloader">Bootloader</a></li> <li><a href="/wiki/Consumer_electronics" title="Consumer electronics">Consumer electronics</a></li> <li><a href="/wiki/Cross_compiler" title="Cross compiler">Cross compiler</a></li> <li><a href="/wiki/Embedded_database" title="Embedded database">Embedded database</a></li> <li><a href="/wiki/Embedded_hypervisor" title="Embedded hypervisor">Embedded hypervisor</a></li> <li><a href="/wiki/Embedded_operating_system" title="Embedded operating system">Embedded OS</a></li> <li><a href="/wiki/Embedded_software" title="Embedded software">Embedded software</a></li> <li><a href="/wiki/Field-programmable_gate_array" title="Field-programmable gate array">FPGA</a></li> <li><a href="/wiki/Internet_of_things" title="Internet of things">IoT</a></li> <li><a href="/wiki/Memory_footprint" title="Memory footprint">Memory footprint</a></li> <li><a href="/wiki/Microcontroller" title="Microcontroller">Microcontroller</a></li> <li><a href="/wiki/Single-board_computer" title="Single-board computer">Single-board computer</a> <ul><li><a href="/wiki/Raspberry_Pi" title="Raspberry Pi">Raspberry Pi</a></li></ul></li> <li><a href="/wiki/System_on_a_chip" title="System on a chip">SoC</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Firmware" title="Firmware">Firmware</a> and controls</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Firmware" title="Firmware">Firmware</a> <ul><li><a href="/wiki/Custom_firmware" title="Custom firmware">Custom firmware</a></li> <li><a href="/wiki/Proprietary_firmware" title="Proprietary firmware">Proprietary firmware</a></li></ul></li> <li><a href="/wiki/Closed_platform" title="Closed platform">Closed platform</a></li> <li><a href="/wiki/Crippleware" title="Crippleware">Crippleware</a></li> <li><a href="/wiki/Defective_by_Design" title="Defective by Design">Defective by Design</a></li> <li><a href="/wiki/Hacking_of_consumer_electronics" title="Hacking of consumer electronics">Hacking of consumer electronics</a></li> <li><a href="/wiki/Homebrew_(video_games)" title="Homebrew (video games)">Homebrew (video games)</a></li> <li><a href="/wiki/IOS_jailbreaking" title="IOS jailbreaking">iOS jailbreaking</a></li> <li><a href="/wiki/PlayStation_3_Jailbreak" title="PlayStation 3 Jailbreak">PlayStation 3 Jailbreak</a></li> <li><a href="/wiki/Rooting_(Android)" title="Rooting (Android)">Rooting (Android)</a></li> <li><a href="/wiki/UEFI" title="UEFI">UEFI</a></li> <li><a href="/wiki/Vendor_lock-in" title="Vendor lock-in">Vendor lock-in</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Booting" title="Booting">Boot loaders</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Das_U-Boot" title="Das U-Boot">U-Boot</a></li> <li><a href="/wiki/Barebox" title="Barebox">Barebox</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Library_(computing)" title="Library (computing)">Software libraries</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/UClibc" title="UClibc">uClibc</a></li> <li><a href="/wiki/Dietlibc" title="Dietlibc">dietlibc</a></li> <li><a href="/wiki/Embedded_GLIBC" class="mw-redirect" title="Embedded GLIBC">Embedded GLIBC</a></li> <li><a href="/wiki/LwIP" title="LwIP">lwIP</a></li> <li><a href="/wiki/Musl" title="Musl">musl</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Programming_tool" title="Programming tool">Programming tools</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Almquist_shell" title="Almquist shell">Almquist shell</a></li> <li><a href="/wiki/BitBake" title="BitBake">BitBake</a></li> <li><a href="/wiki/Buildroot" title="Buildroot">Buildroot</a></li> <li><a href="/wiki/BusyBox" title="BusyBox">BusyBox</a></li> <li><a href="/wiki/OpenEmbedded" title="OpenEmbedded">OpenEmbedded</a></li> <li><a href="/wiki/Stand-alone_shell" title="Stand-alone shell">Stand-alone shell</a></li> <li><a href="/wiki/Toybox" title="Toybox">Toybox</a></li> <li><a href="/wiki/Yocto_Project" title="Yocto Project">Yocto Project</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Embedded_operating_system" title="Embedded operating system">Operating systems</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Linux_on_embedded_systems" title="Linux on embedded systems">Linux on embedded systems</a></li> <li><a href="/wiki/Linux_for_mobile_devices" title="Linux for mobile devices">Linux for mobile devices</a></li> <li><a href="/wiki/Light-weight_Linux_distribution" title="Light-weight Linux distribution">Light-weight Linux distribution</a></li> <li><a class="mw-selflink selflink">Real-time operating system</a></li> <li><a href="/wiki/Windows_IoT" title="Windows IoT">Windows IoT</a> <ul><li><a href="/wiki/Windows_Embedded_Compact" title="Windows Embedded Compact">Win CE</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Programming_language" title="Programming language">Programming languages</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Ada_(programming_language)" title="Ada (programming language)">Ada</a></li> <li><a href="/wiki/Assembly_language" title="Assembly language">Assembly language</a></li> <li><a href="/w/index.php?title=Communication_Access_Programming_Language&action=edit&redlink=1" class="new" title="Communication Access Programming Language (page does not exist)">CAPL</a></li> <li><a href="/wiki/Embedded_C" title="Embedded C">Embedded C</a></li> <li><a href="/wiki/Embedded_C%2B%2B" title="Embedded C++">Embedded C++</a></li> <li><a href="/wiki/Embedded_Java" title="Embedded Java">Embedded Java</a></li> <li><a href="/wiki/MISRA_C" title="MISRA C">MISRA C</a></li> <li><a href="/wiki/MicroPython" title="MicroPython">MicroPython</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><a href="/wiki/Comparison_of_lightweight_web_browsers" title="Comparison of lightweight web browsers">Lightweight browsers</a></li> <li><a href="/wiki/List_of_open-source_hardware" class="mw-redirect" title="List of open-source hardware">List of open-source hardware</a></li> <li><a href="/wiki/Open-source_robotics" title="Open-source robotics">Open-source robotics</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Operating_systems" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Operating_systems" title="Template:Operating systems"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Operating_systems" title="Template talk:Operating systems"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Operating_systems" title="Special:EditPage/Template:Operating systems"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Operating_systems" style="font-size:114%;margin:0 4em"><a href="/wiki/Operating_system" title="Operating system">Operating systems</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Comparison_of_operating_systems" title="Comparison of operating systems">Comparison</a></li> <li><a href="/wiki/Forensic_software_engineering" title="Forensic software engineering">Forensic engineering</a></li> <li><a href="/wiki/History_of_operating_systems" title="History of operating systems">History</a></li> <li><a href="/wiki/List_of_operating_systems" title="List of operating systems">List</a></li> <li><a href="/wiki/Timeline_of_operating_systems" title="Timeline of operating systems">Timeline</a></li> <li><a href="/wiki/Usage_share_of_operating_systems" title="Usage share of operating systems">Usage share</a></li> <li><a href="/wiki/Comparison_of_user_features_of_operating_systems" title="Comparison of user features of operating systems">User features comparison</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Variants</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Disk_operating_system" title="Disk operating system">Disk operating system</a></li> <li><a href="/wiki/Distributed_operating_system" title="Distributed operating system">Distributed operating system</a></li> <li><a href="/wiki/Embedded_operating_system" title="Embedded operating system">Embedded operating system</a></li> <li><a href="/wiki/Hobbyist_operating_system" title="Hobbyist operating system">Hobbyist operating system</a></li> <li><a href="/wiki/Just_enough_operating_system" title="Just enough operating system">Just enough operating system</a></li> <li><a href="/wiki/Mobile_operating_system" title="Mobile operating system">Mobile operating system</a></li> <li><a href="/wiki/Network_operating_system" title="Network operating system">Network operating system</a></li> <li><a href="/wiki/Object-oriented_operating_system" title="Object-oriented operating system">Object-oriented operating system</a></li> <li><a class="mw-selflink selflink">Real-time operating system</a></li> <li><a href="/wiki/Supercomputer_operating_system" title="Supercomputer operating system">Supercomputer operating system</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Kernel_(operating_system)" title="Kernel (operating system)">Kernel</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:6em"><a href="/wiki/Computer_architecture" title="Computer architecture">Architectures</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Exokernel" title="Exokernel">Exokernel</a></li> <li><a href="/wiki/Hybrid_kernel" title="Hybrid kernel">Hybrid</a></li> <li><a href="/wiki/Microkernel" title="Microkernel">Microkernel</a></li> <li><a href="/wiki/Monolithic_kernel" title="Monolithic kernel">Monolithic</a></li> <li><a href="/wiki/Multikernel" title="Multikernel">Multikernel</a></li> <li><a href="/wiki/Vkernel" title="Vkernel">vkernel</a></li> <li><a href="/wiki/Rump_kernel" title="Rump kernel">Rump kernel</a></li> <li><a href="/wiki/Unikernel" title="Unikernel">Unikernel</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:6em">Components</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Device_driver" title="Device driver">Device driver</a></li> <li><a href="/wiki/Loadable_kernel_module" title="Loadable kernel module">Loadable kernel module</a></li> <li><a href="/wiki/User_space_and_kernel_space" title="User space and kernel space">User space and kernel space</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Process_management_(computing)" title="Process management (computing)">Process management</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:6em">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Computer_multitasking" title="Computer multitasking">Computer multitasking</a> (<a href="/wiki/Cooperative_multitasking" title="Cooperative multitasking">Cooperative</a>, <a href="/wiki/Preemption_(computing)" title="Preemption (computing)">Preemptive</a>)</li> <li><a href="/wiki/Context_switch" title="Context switch">Context switch</a></li> <li><a href="/wiki/Interrupt" title="Interrupt">Interrupt</a></li> <li><a href="/wiki/Inter-process_communication" title="Inter-process communication">IPC</a></li> <li><a href="/wiki/Process_(computing)" title="Process (computing)">Process</a></li> <li><a href="/wiki/Process_control_block" title="Process control block">Process control block</a></li> <li><a class="mw-selflink selflink">Real-time</a></li> <li><a href="/wiki/Thread_(computing)" title="Thread (computing)">Thread</a></li> <li><a href="/wiki/Time-sharing" title="Time-sharing">Time-sharing</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:6em"><a href="/wiki/Scheduling_(computing)" title="Scheduling (computing)">Scheduling<br />algorithms</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Fixed-priority_pre-emptive_scheduling" title="Fixed-priority pre-emptive scheduling">Fixed-priority preemptive</a></li> <li><a href="/wiki/Multilevel_feedback_queue" title="Multilevel feedback queue">Multilevel feedback queue</a></li> <li><a href="/wiki/Round-robin_scheduling" title="Round-robin scheduling">Round-robin</a></li> <li><a href="/wiki/Shortest_job_next" title="Shortest job next">Shortest job next</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Memory_management_(operating_systems)" title="Memory management (operating systems)">Memory management</a>,<br /><a href="/wiki/System_resource" title="System resource">resource</a> protection</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bus_error" title="Bus error">Bus error</a></li> <li><a href="/wiki/General_protection_fault" title="General protection fault">General protection fault</a></li> <li><a href="/wiki/Memory_paging" title="Memory paging">Memory paging</a></li> <li><a href="/wiki/Memory_protection" title="Memory protection">Memory protection</a></li> <li><a href="/wiki/Protection_ring" title="Protection ring">Protection ring</a></li> <li><a href="/wiki/Segmentation_fault" title="Segmentation fault">Segmentation fault</a></li> <li><a href="/wiki/Virtual_memory" title="Virtual memory">Virtual memory</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Non-volatile_memory" title="Non-volatile memory">Storage</a> access,<br /><a href="/wiki/File_system" title="File system">file systems</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Booting#BOOT-LOADER" title="Booting">Boot loader</a></li> <li><a href="/wiki/Defragmentation" title="Defragmentation">Defragmentation</a></li> <li><a href="/wiki/Device_file" title="Device file">Device file</a></li> <li><a href="/wiki/File_attribute" title="File attribute">File attribute</a></li> <li><a href="/wiki/Inode" title="Inode">Inode</a></li> <li><a href="/wiki/Journaling_file_system" title="Journaling file system">Journal</a></li> <li><a href="/wiki/Disk_partitioning" title="Disk partitioning">Partition</a></li> <li><a href="/wiki/Virtual_file_system" title="Virtual file system">Virtual file system</a></li> <li><a href="/wiki/Virtual_tape_library" title="Virtual tape library">Virtual tape library</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Supporting concepts</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/API" title="API">API</a></li> <li><a href="/wiki/Computer_network" title="Computer network">Computer network</a></li> <li><a href="/wiki/Hardware_abstraction" title="Hardware abstraction">HAL</a></li> <li><a href="/wiki/Live_CD" title="Live CD">Live CD</a></li> <li><a href="/wiki/Live_USB" title="Live USB">Live USB</a></li> <li><a href="/wiki/Shell_(computing)" title="Shell (computing)">Shell</a> <ul><li><a href="/wiki/Command-line_interface" title="Command-line interface">CLI</a></li> <li><a href="/wiki/User_interface" title="User interface">User interface</a></li></ul></li> <li><a href="/wiki/Preboot_Execution_Environment" title="Preboot Execution Environment">PXE</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐mzm7s Cached time: 20241122140431 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.414 seconds Real time usage: 0.589 seconds Preprocessor visited node count: 1776/1000000 Post‐expand include size: 95264/2097152 bytes Template argument size: 3280/2097152 bytes Highest expansion depth: 13/100 Expensive parser function count: 4/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 51336/5000000 bytes Lua time usage: 0.249/10.000 seconds Lua memory usage: 5803218/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 488.776 1 -total 28.83% 140.910 8 Template:Navbox 25.97% 126.911 1 Template:Reflist 25.16% 122.954 1 Template:Real-time_operating_systems 24.47% 119.605 1 Template:Short_description 20.41% 99.745 5 Template:Cite_web 13.45% 65.758 7 Template:Main_other 12.91% 63.091 1 Template:SDcat 11.11% 54.327 3 Template:Citation_needed 9.45% 46.190 3 Template:Fix --> <!-- Saved in parser cache with key enwiki:pcache:idhash:26123-0!canonical and timestamp 20241122140431 and revision id 1253656346. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Real-time_operating_system&oldid=1253656346">https://en.wikipedia.org/w/index.php?title=Real-time_operating_system&oldid=1253656346</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Real-time_operating_systems" title="Category:Real-time operating systems">Real-time operating systems</a></li><li><a href="/wiki/Category:Operating_systems" title="Category:Operating systems">Operating systems</a></li><li><a href="/wiki/Category:Real-time_computing" title="Category:Real-time computing">Real-time computing</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_November_2017" title="Category:Articles with unsourced statements from November 2017">Articles with unsourced statements from November 2017</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_September_2024" title="Category:Articles with unsourced statements from September 2024">Articles with unsourced statements from September 2024</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_April_2018" title="Category:Articles with unsourced statements from April 2018">Articles with unsourced statements from April 2018</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 27 October 2024, at 05:05<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Real-time_operating_system&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-x6txf","wgBackendResponseTime":135,"wgPageParseReport":{"limitreport":{"cputime":"0.414","walltime":"0.589","ppvisitednodes":{"value":1776,"limit":1000000},"postexpandincludesize":{"value":95264,"limit":2097152},"templateargumentsize":{"value":3280,"limit":2097152},"expansiondepth":{"value":13,"limit":100},"expensivefunctioncount":{"value":4,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":51336,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 488.776 1 -total"," 28.83% 140.910 8 Template:Navbox"," 25.97% 126.911 1 Template:Reflist"," 25.16% 122.954 1 Template:Real-time_operating_systems"," 24.47% 119.605 1 Template:Short_description"," 20.41% 99.745 5 Template:Cite_web"," 13.45% 65.758 7 Template:Main_other"," 12.91% 63.091 1 Template:SDcat"," 11.11% 54.327 3 Template:Citation_needed"," 9.45% 46.190 3 Template:Fix"]},"scribunto":{"limitreport-timeusage":{"value":"0.249","limit":"10.000"},"limitreport-memusage":{"value":5803218,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-mzm7s","timestamp":"20241122140431","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Real-time operating system","url":"https:\/\/en.wikipedia.org\/wiki\/Real-time_operating_system","sameAs":"http:\/\/www.wikidata.org\/entity\/Q213666","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q213666","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2001-10-21T14:06:13Z","dateModified":"2024-10-27T05:05:03Z","headline":"computer operating system intended to process data as it comes in with minimal delay"}</script> </body> </html>