CINXE.COM
System call - 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>System call - 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":"9b2171f7-48b2-45d7-9fe2-c0d40d51bd9e","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"System_call","wgTitle":"System call","wgCurRevisionId":1258249014,"wgRevisionId":1258249014,"wgArticleId":102908,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["CS1 maint: numeric names: authors list","Articles with short description","Short description is different from Wikidata","Use dmy dates from March 2022","Operating system technology","Application programming interfaces","System calls"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"System_call","wgRelevantArticleId":102908,"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":"Q722192","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","mediawiki.page.media","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 property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Linux_kernel_interfaces.svg/1200px-Linux_kernel_interfaces.svg.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="900"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Linux_kernel_interfaces.svg/800px-Linux_kernel_interfaces.svg.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="600"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Linux_kernel_interfaces.svg/640px-Linux_kernel_interfaces.svg.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="480"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="System call - 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/System_call"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=System_call&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/System_call"> <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-System_call rootpage-System_call 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=System+call" 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=System+call" 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=System+call" 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=System+call" 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-Privileges" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Privileges"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Privileges</span> </div> </a> <ul id="toc-Privileges-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-The_library_as_an_intermediary" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#The_library_as_an_intermediary"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>The library as an intermediary</span> </div> </a> <ul id="toc-The_library_as_an_intermediary-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Examples_and_tools" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Examples_and_tools"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Examples and tools</span> </div> </a> <ul id="toc-Examples_and_tools-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Typical_implementations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Typical_implementations"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Typical implementations</span> </div> </a> <ul id="toc-Typical_implementations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Categories_of_system_calls" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Categories_of_system_calls"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Categories of system calls</span> </div> </a> <ul id="toc-Categories_of_system_calls-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Processor_mode_and_context_switching" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Processor_mode_and_context_switching"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Processor mode and context switching</span> </div> </a> <ul id="toc-Processor_mode_and_context_switching-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-Notes" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-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">9</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>External links</span> </div> </a> <ul id="toc-External_links-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">System call</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 30 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-30" 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">30 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/%D8%B7%D9%84%D8%A8%D8%A7%D8%AA_%D8%A7%D9%84%D9%86%D8%B8%D8%A7%D9%85" 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-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Sistem_%C3%A7a%C4%9F%C4%B1r%C4%B1%C5%9F%C4%B1" title="Sistem çağırışı – Azerbaijani" lang="az" hreflang="az" data-title="Sistem çağırışı" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Sistemski_poziv" title="Sistemski poziv – Bosnian" lang="bs" hreflang="bs" data-title="Sistemski poziv" 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/Crida_de_sistema" title="Crida de sistema – Catalan" lang="ca" hreflang="ca" data-title="Crida de sistema" 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/Syst%C3%A9mov%C3%A9_vol%C3%A1n%C3%AD" title="Systémové volání – Czech" lang="cs" hreflang="cs" data-title="Systémové volání" 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/Systemkald" title="Systemkald – Danish" lang="da" hreflang="da" data-title="Systemkald" 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/Systemaufruf" title="Systemaufruf – German" lang="de" hreflang="de" data-title="Systemaufruf" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/%CE%9A%CE%BB%CE%AE%CF%83%CE%B7_%CF%83%CF%85%CF%83%CF%84%CE%AE%CE%BC%CE%B1%CF%84%CE%BF%CF%82" title="Κλήση συστήματος – Greek" lang="el" hreflang="el" data-title="Κλήση συστήματος" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Llamada_al_sistema" title="Llamada al sistema – Spanish" lang="es" hreflang="es" data-title="Llamada al sistema" 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-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Sistema-dei" title="Sistema-dei – Basque" lang="eu" hreflang="eu" data-title="Sistema-dei" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%AA%D9%85%D8%A7%D8%B3_%D8%A8%D8%A7_%D8%B3%D8%A7%D9%85%D8%A7%D9%86%D9%87_(%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87)" 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/Appel_syst%C3%A8me" title="Appel système – French" lang="fr" hreflang="fr" data-title="Appel système" 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%9C%EC%8A%A4%ED%85%9C_%ED%98%B8%EC%B6%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-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Chiamata_di_sistema" title="Chiamata di sistema – Italian" lang="it" hreflang="it" data-title="Chiamata di sistema" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%A7%D7%A8%D7%99%D7%90%D7%AA_%D7%9E%D7%A2%D7%A8%D7%9B%D7%AA" title="קריאת מערכת – Hebrew" lang="he" hreflang="he" data-title="קריאת מערכת" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8%D0%B9%D0%BD_%D0%B4%D1%83%D1%83%D0%B4%D0%B0%D0%BB%D1%82" title="Системийн дуудалт – Mongolian" lang="mn" hreflang="mn" data-title="Системийн дуудалт" data-language-autonym="Монгол" data-language-local-name="Mongolian" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Systeemaanroep" title="Systeemaanroep – Dutch" lang="nl" hreflang="nl" data-title="Systeemaanroep" 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%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%B3%E3%83%BC%E3%83%AB" 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/Systemkall" title="Systemkall – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Systemkall" 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-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Wywo%C5%82anie_systemowe" title="Wywołanie systemowe – Polish" lang="pl" hreflang="pl" data-title="Wywołanie systemowe" 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/Chamada_de_sistema" title="Chamada de sistema – Portuguese" lang="pt" hreflang="pt" data-title="Chamada de sistema" 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/Apel_de_sistem" title="Apel de sistem – Romanian" lang="ro" hreflang="ro" data-title="Apel de sistem" 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%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B9_%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2" 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-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D0%BE%D0%B7%D0%B8%D0%B2" title="Системски позив – Serbian" lang="sr" hreflang="sr" data-title="Системски позив" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/J%C3%A4rjestelm%C3%A4kutsu" title="Järjestelmäkutsu – Finnish" lang="fi" hreflang="fi" data-title="Järjestelmäkutsu" 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/Systemanrop" title="Systemanrop – Swedish" lang="sv" hreflang="sv" data-title="Systemanrop" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%81%E0%B8%A3%E0%B8%B0%E0%B8%9A%E0%B8%9A" 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-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D0%B8%D0%B9_%D0%B2%D0%B8%D0%BA%D0%BB%D0%B8%D0%BA" 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/L%E1%BB%9Di_g%E1%BB%8Di_h%E1%BB%87_th%E1%BB%91ng" title="Lời gọi hệ thống – Vietnamese" lang="vi" hreflang="vi" data-title="Lời gọi hệ thống" 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/%E7%B3%BB%E7%BB%9F%E8%B0%83%E7%94%A8" 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/Q722192#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/System_call" 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:System_call" 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/System_call"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=System_call&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=System_call&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/System_call"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=System_call&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=System_call&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/System_call" 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/System_call" 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=System_call&oldid=1258249014" 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=System_call&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=System_call&id=1258249014&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%2FSystem_call"><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%2FSystem_call"><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=System_call&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=System_call&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 id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q722192" 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">Way for programs to access kernel services</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">Not to be confused with <a href="/wiki/System_command" class="mw-redirect" title="System command">System command</a>.</div> <p class="mw-empty-elt"> </p> <figure typeof="mw:File/Thumb"><a href="/wiki/File:Linux_kernel_interfaces.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/6/68/Linux_kernel_interfaces.svg/300px-Linux_kernel_interfaces.svg.png" decoding="async" width="300" height="225" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/68/Linux_kernel_interfaces.svg/450px-Linux_kernel_interfaces.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/68/Linux_kernel_interfaces.svg/600px-Linux_kernel_interfaces.svg.png 2x" data-file-width="1536" data-file-height="1152" /></a><figcaption>A high-level overview of the Linux kernel's system call interface, which handles communication between its various components and the <a href="/wiki/Userspace" class="mw-redirect" title="Userspace">userspace</a> </figcaption></figure> <p>In computing, a <b>system call</b> (commonly abbreviated to <b>syscall</b>) is the programmatic way in which a <a href="/wiki/Computer_program" title="Computer program">computer program</a> requests a service from the <a href="/wiki/Operating_system" title="Operating system">operating system</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>a<span class="cite-bracket">]</span></a></sup> on which it is executed. This may include hardware-related services (for example, accessing a <a href="/wiki/Hard_disk_drive" title="Hard disk drive">hard disk drive</a> or accessing the device's camera), creation and execution of new <a href="/wiki/Process_(computing)" title="Process (computing)">processes</a>, and communication with integral <a href="/wiki/Kernel_service" class="mw-redirect" title="Kernel service">kernel services</a> such as <a href="/wiki/Process_scheduling" class="mw-redirect" title="Process scheduling">process scheduling</a>. System calls provide an essential interface between a process and the operating system. </p><p>In most systems, system calls can only be made from <a href="/wiki/Userspace" class="mw-redirect" title="Userspace">userspace</a> processes, while in some systems, <a href="/wiki/OS/360_and_successors" title="OS/360 and successors">OS/360 and successors</a> for example, privileged system code also issues system calls.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> </p><p>For <a href="/wiki/Embedded_system" title="Embedded system">embedded systems</a>, system calls typically do not change the <a href="/wiki/CPU_modes" title="CPU modes">privilege mode</a> of the CPU. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Privileges">Privileges</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=System_call&action=edit&section=1" title="Edit section: Privileges"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The <a href="/wiki/Instruction_set" class="mw-redirect" title="Instruction set">architecture</a> of most modern processors, with the exception of some embedded systems, involves a <a href="/wiki/CPU_modes" title="CPU modes">security model</a>. For example, the <i><a href="/wiki/Ring_(computer_security)" class="mw-redirect" title="Ring (computer security)">rings</a></i> model specifies multiple privilege levels under which software may be executed: a program is usually limited to its own <a href="/wiki/Address_space" title="Address space">address space</a> so that it cannot access or modify other running programs or the operating system itself, and is usually prevented from directly manipulating hardware devices (e.g. the <a href="/wiki/Frame_buffer" class="mw-redirect" title="Frame buffer">frame buffer</a> or <a href="/wiki/Computer_network" title="Computer network">network</a> devices). </p><p>However, many applications need access to these components, so system calls are made available by the operating system to provide well-defined, safe implementations for such operations. The operating system executes at the highest level of privilege, and allows applications to request services via system calls, which are often initiated via <a href="/wiki/Interrupt" title="Interrupt">interrupts</a>. An interrupt automatically puts the CPU into some elevated privilege level and then passes control to the kernel, which determines whether the calling program should be granted the requested service. If the service is granted, the kernel executes a specific set of instructions over which the calling program has no direct control, returns the privilege level to that of the calling program, and then returns control to the calling program. </p> <div class="mw-heading mw-heading2"><h2 id="The_library_as_an_intermediary">The library as an intermediary</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=System_call&action=edit&section=2" title="Edit section: The library as an intermediary"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Generally, systems provide a <a href="/wiki/Library_(computing)" title="Library (computing)">library</a> or <a href="/wiki/API" title="API">API</a> that sits between normal programs and the operating system. On <a href="/wiki/Unix-like" title="Unix-like">Unix-like</a> systems, that API is usually part of an implementation of the <a href="/wiki/C_standard_library" title="C standard library">C library</a> (libc), such as <a href="/wiki/Glibc" title="Glibc">glibc</a>, that provides <a href="/wiki/Wrapper_function" title="Wrapper function">wrapper functions</a> for the system calls, often named the same as the system calls they invoke. On <a href="/wiki/Windows_NT" title="Windows NT">Windows NT</a>, that API is part of the <a href="/wiki/Native_API" class="mw-redirect" title="Native API">Native API</a>, in the <style data-mw-deduplicate="TemplateStyles:r886049734">.mw-parser-output .monospaced{font-family:monospace,monospace}</style><span class="monospaced">ntdll.dll</span> library; this is an undocumented API used by implementations of the regular <a href="/wiki/Windows_API" title="Windows API">Windows API</a> and directly used by some system programs on Windows. The library's wrapper functions expose an ordinary function <a href="/wiki/Calling_convention" title="Calling convention">calling convention</a> (a <a href="/wiki/Subroutine" class="mw-redirect" title="Subroutine">subroutine</a> call on the <a href="/wiki/Assembly_language" title="Assembly language">assembly</a> level) for using the system call, as well as making the system call more <a href="/wiki/Modularity" title="Modularity">modular</a>. Here, the primary function of the wrapper is to place all the arguments to be passed to the system call in the appropriate <a href="/wiki/Processor_register" title="Processor register">processor registers</a> (and maybe on the <a href="/wiki/Call_stack" title="Call stack">call stack</a> as well), and also setting a unique system call number for the kernel to call. In this way the library, which exists between the OS and the application, increases <a href="/wiki/Software_portability" title="Software portability">portability</a>. </p><p>The call to the library function itself does not cause a switch to <a href="/wiki/Kernel_mode" class="mw-redirect" title="Kernel mode">kernel mode</a> and is usually a normal <a href="/wiki/Subroutine_call" class="mw-redirect" title="Subroutine call">subroutine call</a> (using, for example, a "CALL" assembly instruction in some <a href="/wiki/Instruction_set_architecture" title="Instruction set architecture">Instruction set architectures</a> (ISAs)). The actual system call does transfer control to the kernel (and is more implementation-dependent and platform-dependent than the library call abstracting it). For example, in <a href="/wiki/Unix-like" title="Unix-like">Unix-like</a> systems, <code>fork</code> and <code>execve</code> are C library functions that in turn execute instructions that invoke the <code>fork</code> and <code>exec</code> system calls. Making the system call directly in the <a href="/wiki/Application_code" class="mw-redirect" title="Application code">application code</a> is more complicated and may require embedded assembly code to be used (in <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> and <a href="/wiki/C%2B%2B" title="C++">C++</a>), as well as requiring knowledge of the low-level binary interface for the system call operation, which may be subject to change over time and thus not be part of the <a href="/wiki/Application_binary_interface" title="Application binary interface">application binary interface</a>; the library functions are meant to abstract this away. </p><p>On <a href="/wiki/Exokernel" title="Exokernel">exokernel</a> based systems, the library is especially important as an intermediary. On exokernels, libraries shield user applications from the very low level kernel <a href="/wiki/Application_programming_interface" class="mw-redirect" title="Application programming interface">API</a>, and provide <a href="/wiki/Abstraction_(computer_science)" title="Abstraction (computer science)">abstractions</a> and <a href="/wiki/Resource_(computer_science)" class="mw-redirect" title="Resource (computer science)">resource</a> management. </p><p>IBM's <a href="/wiki/OS/360_and_successors" title="OS/360 and successors">OS/360</a>, <a href="/wiki/DOS/360_and_successors" title="DOS/360 and successors">DOS/360</a> and <a href="/wiki/TSS/360" class="mw-redirect" title="TSS/360">TSS/360</a> implement most system calls through a library of assembly language <a href="/wiki/Macro_(computer_science)" title="Macro (computer science)">macros</a>,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>b<span class="cite-bracket">]</span></a></sup> although there are a few services with a call linkage. This reflects their origin at a time when programming in assembly language was more common than <a href="/wiki/High-level_programming_language" title="High-level programming language">high-level language</a> usage. IBM system calls were therefore not directly executable by high-level language programs, but required a callable assembly language wrapper subroutine. Since then, IBM has added many services that can be called from high level languages in, e.g., <a href="/wiki/Z/OS" title="Z/OS">z/OS</a> and <a href="/wiki/VSE_(operating_system)" title="VSE (operating system)">z/VSE</a>. In more recent release of <a href="/wiki/MVS/SP" class="mw-redirect" title="MVS/SP">MVS/SP</a> and in all later MVS versions, some system call macros generate Program Call (PC). </p> <div class="mw-heading mw-heading2"><h2 id="Examples_and_tools">Examples and tools</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=System_call&action=edit&section=3" title="Edit section: Examples and tools"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>On <a href="/wiki/Unix" title="Unix">Unix</a>, <a href="/wiki/Unix-like" title="Unix-like">Unix-like</a> and other <a href="/wiki/POSIX" title="POSIX">POSIX</a>-compliant operating systems, popular system calls are <code><a href="/wiki/Open_(system_call)" title="Open (system call)">open</a></code>, <code><a href="/wiki/Read_(system_call)" title="Read (system call)">read</a></code>, <code><a href="/wiki/Write_(system_call)" title="Write (system call)">write</a></code>, <code><a href="/wiki/Close_(system_call)" title="Close (system call)">close</a></code>, <code><a href="/wiki/Wait_(system_call)" title="Wait (system call)">wait</a></code>, <code><a href="/wiki/Exec_(system_call)" title="Exec (system call)">exec</a></code>, <code><a href="/wiki/Fork_(system_call)" title="Fork (system call)">fork</a></code>, <code><a href="/wiki/Exit_(system_call)" title="Exit (system call)">exit</a></code>, and <code><a href="/wiki/Kill_(system_call)" class="mw-redirect" title="Kill (system call)">kill</a></code>. Many modern operating systems have hundreds of system calls. For example, <a href="/wiki/Linux_kernel" title="Linux kernel">Linux</a> and <a href="/wiki/OpenBSD" title="OpenBSD">OpenBSD</a> each have over 300 different calls,<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> <a href="/wiki/NetBSD" title="NetBSD">NetBSD</a> has close to 500,<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> <a href="/wiki/FreeBSD" title="FreeBSD">FreeBSD</a> has over 500,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Windows has close to 2000, divided between win32k (graphical) and ntdll (core) system calls<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> while <a href="/wiki/Plan_9_from_Bell_Labs" title="Plan 9 from Bell Labs">Plan 9</a> has 51.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> </p><p>Tools such as <a href="/wiki/Strace" title="Strace">strace</a>, <a href="/wiki/Ftrace" title="Ftrace">ftrace</a> and <a href="/wiki/Truss_(Unix)" title="Truss (Unix)">truss</a> allow a process to execute from start and report all system calls the process invokes, or can attach to an already running process and intercept any system call made by the said process if the operation does not violate the permissions of the user. This special ability of the program is usually also implemented with system calls such as <a href="/wiki/Ptrace" title="Ptrace">ptrace</a> or system calls on files in <a href="/wiki/Procfs" title="Procfs">procfs</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Typical_implementations">Typical implementations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=System_call&action=edit&section=4" title="Edit section: Typical implementations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Implementing system calls requires a transfer of control from user space to kernel space, which involves some sort of architecture-specific feature. A typical way to implement this is to use a <a href="/wiki/Software_interrupt" class="mw-redirect" title="Software interrupt">software interrupt</a> or <a href="/wiki/Trap_(computing)" class="mw-redirect" title="Trap (computing)">trap</a>. Interrupts transfer control to the operating system <a href="/wiki/Kernel_(operating_system)" title="Kernel (operating system)">kernel</a>, so software simply needs to set up some register with the system call number needed, and execute the software interrupt. </p><p>This is the only technique provided for many <a href="/wiki/RISC" class="mw-redirect" title="RISC">RISC</a> processors, but <a href="/wiki/Complex_instruction_set_computer" title="Complex instruction set computer">CISC</a> architectures such as <a href="/wiki/X86" title="X86">x86</a> support additional techniques. For example, the x86 <a href="/wiki/Instruction_set" class="mw-redirect" title="Instruction set">instruction set</a> contains the instructions <code>SYSCALL</code>/<code>SYSRET</code> and <code>SYSENTER</code>/<code>SYSEXIT</code> (these two mechanisms were independently created by <a href="/wiki/AMD" title="AMD">AMD</a> and <a href="/wiki/Intel" title="Intel">Intel</a>, respectively, but in essence they do the same thing). These are "fast" control transfer instructions that are designed to quickly transfer control to the kernel for a system call without the overhead of an interrupt.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> <a href="/wiki/Linux" title="Linux">Linux</a> 2.5 began using this on the <a href="/wiki/X86" title="X86">x86</a>, where available; formerly it used the <code><a href="/wiki/INT_(x86_instruction)" title="INT (x86 instruction)">INT</a></code> instruction, where the system call number was placed in the <code>EAX</code> <a href="/wiki/Processor_register" title="Processor register">register</a> before <a href="/wiki/INT_(x86_instruction)" title="INT (x86 instruction)">interrupt</a> 0x80 was executed.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> </p><p>An older mechanism is the <a href="/wiki/Call_gate" class="mw-redirect" title="Call gate">call gate</a>; originally used in <a href="/wiki/Multics" title="Multics">Multics</a> and later, for example, see <a href="/wiki/Call_gate_(Intel)" title="Call gate (Intel)">call gate</a> on the Intel <a href="/wiki/X86" title="X86">x86</a>. It allows a program to call a kernel function directly using a safe control transfer mechanism, which the operating system sets up in advance. This approach has been unpopular on x86, presumably due to the requirement of a far call (a call to a procedure located in a different segment than the current code segment<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>) which uses <a href="/wiki/X86_memory_segmentation" title="X86 memory segmentation">x86 memory segmentation</a> and the resulting lack of <a href="/wiki/Portability_(software)" class="mw-redirect" title="Portability (software)">portability</a> it causes, and the existence of the faster instructions mentioned above. </p><p>For <a href="/wiki/IA-64" title="IA-64">IA-64</a> architecture, <code>EPC</code> (Enter Privileged Code) instruction is used. The first eight system call arguments are passed in registers, and the rest are passed on the stack. </p><p>In the <a href="/wiki/IBM_System/360" title="IBM System/360">IBM System/360</a> mainframe family, and its successors, a <a href="/wiki/Supervisor_Call_instruction" title="Supervisor Call instruction">Supervisor Call instruction</a> (<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">SVC</span>), with the number in the instruction rather than in a register, implements a system call for legacy facilities in most of<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>c<span class="cite-bracket">]</span></a></sup> IBM's own operating systems, and for all system calls in Linux. In later versions of MVS, IBM uses the Program Call (PC) instruction for many newer facilities. In particular, PC is used when the caller might be in <a href="/wiki/Service_Request_Block" title="Service Request Block">Service Request Block</a> (SRB) mode. </p><p>The <a href="/wiki/PDP-11" title="PDP-11">PDP-11</a> <a href="/wiki/Minicomputer" title="Minicomputer">minicomputer</a> used the <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">EMT</span>, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">TRAP</span> and <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">IOT</span> instructions, which, similar to the IBM System/360 <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">SVC</span> and x86 <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">INT</span>, put the code in the instruction; they generate interrupts to specific addresses, transferring control to the operating system. The <a href="/wiki/VAX" title="VAX">VAX</a> 32-bit successor to the PDP-11 series used the <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">CHMK</span>, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">CHME</span>, and <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">CHMS</span> instructions to make system calls to privileged code at various levels; the code is an argument to the instruction. </p> <div class="mw-heading mw-heading2"><h2 id="Categories_of_system_calls">Categories of system calls</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=System_call&action=edit&section=5" title="Edit section: Categories of system calls"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>System calls can be grouped roughly into six major categories:<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> </p> <dl><dd></dd></dl> <ol><li>Process control <ul><li>create process (for example, <code><a href="/wiki/Fork_(operating_system)" class="mw-redirect" title="Fork (operating system)">fork</a></code> on Unix-like systems, or <code>NtCreateProcess</code> in the <a href="/wiki/Windows_NT" title="Windows NT">Windows NT</a> <a href="/wiki/Native_API" class="mw-redirect" title="Native API">Native API</a>)</li> <li><a href="/wiki/Kill_(command)" title="Kill (command)">terminate process</a></li> <li><a href="/wiki/Loader_(computing)" title="Loader (computing)">load</a>, <a href="/wiki/Exec_(operating_system)" class="mw-redirect" title="Exec (operating system)">execute</a></li> <li>get/set process attributes</li> <li><a href="/wiki/Wait_(operating_system)" class="mw-redirect" title="Wait (operating system)">wait</a> for time, wait event, <a href="/wiki/Signal_(computing)" class="mw-redirect" title="Signal (computing)">signal</a> event</li> <li><a href="/wiki/Dynamic_memory_allocation" class="mw-redirect" title="Dynamic memory allocation">allocate</a> and <a href="/wiki/Garbage_collection_(computer_science)" title="Garbage collection (computer science)">free</a> memory</li></ul></li> <li>File management <ul><li>create file, delete file</li> <li>open, close</li> <li>read, write, reposition</li> <li>get/set file attributes</li></ul></li> <li>Device management <ul><li>request device, release device</li> <li>read, write, reposition</li> <li>get/set device attributes</li> <li>logically attach or detach devices</li></ul></li> <li>Information maintenance <ul><li>get/set total system information (including time, date, computer name, enterprise etc.)</li> <li>get/set process, file, or device metadata (including author, opener, creation time and date, etc.)</li></ul></li> <li>Communication <ul><li>create, delete communication connection</li> <li>send, receive messages</li> <li>transfer status information</li> <li>attach or detach remote devices</li></ul></li> <li>Protection <ul><li>get/set file permissions</li></ul></li></ol> <div class="mw-heading mw-heading2"><h2 id="Processor_mode_and_context_switching">Processor mode and context switching</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=System_call&action=edit&section=6" title="Edit section: Processor mode and context switching"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>System calls in most <a href="/wiki/Unix-like" title="Unix-like">Unix-like</a> systems are processed in <a href="/wiki/Kernel_mode" class="mw-redirect" title="Kernel mode">kernel mode</a>, which is accomplished by changing the processor execution mode to a more privileged one, but no <i>process</i> <a href="/wiki/Context_switch" title="Context switch">context switch</a> is necessary –  although a <i>privilege</i> context switch does occur. The hardware sees the world in terms of the execution mode according to the processor <a href="/wiki/Status_register" title="Status register">status register</a>, and processes are an abstraction provided by the operating system. A system call does not generally require a context switch to another process; instead, it is processed in the context of whichever process invoked it.<sup id="cite_ref-Bach1986pp15-16_16-0" class="reference"><a href="#cite_note-Bach1986pp15-16-16"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> </p><p>In a <a href="/wiki/Multithreading_(computer_architecture)" title="Multithreading (computer architecture)">multithreaded</a> process, system calls can be made from multiple <a href="/wiki/Thread_(computing)" title="Thread (computing)">threads</a>. The handling of such calls is dependent on the design of the specific operating system kernel and the application runtime environment. The following list shows typical models followed by operating systems:<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p> <ul><li><i>Many-to-one</i> model: All system calls from any user thread in a process are handled by a single kernel-level thread. This model has a serious drawback –  any blocking system call (like awaiting input from the user) can freeze all the other threads. Also, since only one thread can access the kernel at a time, this model cannot utilize multiple cores of processors.</li> <li><i>One-to-one</i> model: Every user thread gets attached to a distinct kernel-level thread during a system call. This model solves the above problem of blocking system calls. It is found in all major <a href="/wiki/Linux_distribution" title="Linux distribution">Linux distributions</a>, <a href="/wiki/MacOS" title="MacOS">macOS</a>, <a href="/wiki/IOS" title="IOS">iOS</a>, recent <a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Windows</a> and <a href="/wiki/Solaris_(operating_system)" class="mw-redirect" title="Solaris (operating system)">Solaris</a> versions.</li> <li><i>Many-to-many</i> model: In this model, a pool of user threads is mapped to a pool of kernel threads. All system calls from a user thread pool are handled by the threads in their corresponding kernel <a href="/wiki/Thread_pool" title="Thread pool">thread pool</a>.</li> <li><i>Hybrid</i> model: This model implements both many to many and one to one models depending upon the choice made by the kernel. This is found in old versions of <a href="/wiki/IRIX" title="IRIX">IRIX</a>, <a href="/wiki/HP-UX" title="HP-UX">HP-UX</a> and <a href="/wiki/Solaris_(operating_system)" class="mw-redirect" title="Solaris (operating system)">Solaris</a>.</li></ul> <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=System_call&action=edit&section=7" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/DOS_API" title="DOS API">DOS API</a></li> <li><a href="/wiki/Linux_kernel_API" class="mw-redirect" title="Linux kernel API">Linux kernel API</a></li> <li><a href="/wiki/VDSO" title="VDSO">vDSO</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=System_call&action=edit&section=8" title="Edit section: Notes"><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 reflist-lower-alpha"> <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">In <a href="/wiki/UNIX-like" class="mw-redirect" title="UNIX-like">UNIX-like</a> operating systems, system calls are used only for the <a href="/wiki/Kernel_(operating_system)" title="Kernel (operating system)">kernel</a> </span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">In many but not all cases, IBM documented, e.g., the SVC number, the parameter registers.</span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text">The CP components of <a href="/wiki/CP-67" title="CP-67">CP-67</a> and <a href="/wiki/VM_(operating_system)" title="VM (operating system)">VM</a> use the Diagnose (DIAG) instruction as a Hypervisor CALL (HVC) from a virtual machine to CP.</span> </li> </ol></div></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=System_call&action=edit&section=9" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239543626"><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</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 id="CITEREFIBM1967" class="citation book cs1">IBM (March 1967). "Writing SVC Routines". <a rel="nofollow" class="external text" href="http://bitsavers.org/pdf/ibm/360/os/R01-08/C28-6550-2_OSsysPrmg_Mar67.pdf"><i>IBM System/360 Operating System System Programmer's Guide</i></a> <span class="cs1-format">(PDF)</span>. Third Edition. pp. 32–36. C28-6550-2.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Writing+SVC+Routines&rft.btitle=IBM+System%2F360+Operating+System+System+Programmer%27s+Guide&rft.series=Third+Edition&rft.pages=32-36&rft.date=1967-03&rft.au=IBM&rft_id=http%3A%2F%2Fbitsavers.org%2Fpdf%2Fibm%2F360%2Fos%2FR01-08%2FC28-6550-2_OSsysPrmg_Mar67.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" 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="http://man7.org/linux/man-pages/man2/syscalls.2.html">"syscalls(2) - Linux manual page"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=syscalls%282%29+-+Linux+manual+page&rft_id=http%3A%2F%2Fman7.org%2Flinux%2Fman-pages%2Fman2%2Fsyscalls.2.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" 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="CITEREFOpenBSD2013" class="citation web cs1">OpenBSD (14 September 2013). <a rel="nofollow" class="external text" href="http://bxr.su/OpenBSD/sys/kern/syscalls.c">"System call names (kern/syscalls.c)"</a>. <i>BSD Cross Reference</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=BSD+Cross+Reference&rft.atitle=System+call+names+%28kern%2Fsyscalls.c%29&rft.date=2013-09-14&rft.au=OpenBSD&rft_id=http%3A%2F%2Fbxr.su%2FOpenBSD%2Fsys%2Fkern%2Fsyscalls.c&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFNetBSD2013" class="citation web cs1">NetBSD (17 October 2013). <a rel="nofollow" class="external text" href="http://bxr.su/NetBSD/sys/kern/syscalls.c">"System call names (kern/syscalls.c)"</a>. <i>BSD Cross Reference</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=BSD+Cross+Reference&rft.atitle=System+call+names+%28kern%2Fsyscalls.c%29&rft.date=2013-10-17&rft.au=NetBSD&rft_id=http%3A%2F%2Fbxr.su%2FNetBSD%2Fsys%2Fkern%2Fsyscalls.c&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" 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://fxr.watson.org/fxr/source/kern/syscalls.c">"FreeBSD syscalls.c, the list of syscall names and IDs"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=FreeBSD+syscalls.c%2C+the+list+of+syscall+names+and+IDs&rft_id=http%3A%2F%2Ffxr.watson.org%2Ffxr%2Fsource%2Fkern%2Fsyscalls.c&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMateusz_"j00ru"_Jurczyk2017" class="citation web cs1">Mateusz "j00ru" Jurczyk (5 November 2017). <a rel="nofollow" class="external text" href="http://j00ru.vexillium.org/syscalls/win32k/32/">"Windows WIN32K.SYS System Call Table (NT/2000/XP/2003/Vista/2008/7/8/10)"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Windows+WIN32K.SYS+System+Call+Table+%28NT%2F2000%2FXP%2F2003%2FVista%2F2008%2F7%2F8%2F10%29&rft.date=2017-11-05&rft.au=Mateusz+%22j00ru%22+Jurczyk&rft_id=http%3A%2F%2Fj00ru.vexillium.org%2Fsyscalls%2Fwin32k%2F32%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_web" title="Template:Cite web">cite web</a>}}</code>: CS1 maint: numeric names: authors list (<a href="/wiki/Category:CS1_maint:_numeric_names:_authors_list" title="Category:CS1 maint: numeric names: authors list">link</a>)</span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</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://9p.io/sources/plan9/sys/src/libc/9syscall/sys.h">"sys.h"</a>. <i>Plan 9 from Bell Labs</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230908211500/http://9p.io/sources/plan9/sys/src/libc/9syscall/sys.h">Archived</a> from the original on 8 September 2023,</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Plan+9+from+Bell+Labs&rft.atitle=sys.h&rft_id=http%3A%2F%2F9p.io%2Fsources%2Fplan9%2Fsys%2Fsrc%2Flibc%2F9syscall%2Fsys.h&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span> the list of syscall names and IDs.</span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</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://wiki.osdev.org/SYSENTER">"SYSENTER"</a>. <i>OSDev wiki</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231108202438/https://wiki.osdev.org/Sysenter">Archived</a> from the original on 8 November 2023.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=OSDev+wiki&rft.atitle=SYSENTER&rft_id=http%3A%2F%2Fwiki.osdev.org%2FSYSENTER&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAnonymous2002" class="citation web cs1">Anonymous (19 December 2002). <a rel="nofollow" class="external text" href="http://kerneltrap.org/node/531">"Linux 2.5 gets vsyscalls, sysenter support"</a>. <i><a href="/wiki/KernelTrap" title="KernelTrap">KernelTrap</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">1 January</span> 2008</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=KernelTrap&rft.atitle=Linux+2.5+gets+vsyscalls%2C+sysenter+support&rft.date=2002-12-19&rft.au=Anonymous&rft_id=http%3A%2F%2Fkerneltrap.org%2Fnode%2F531&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFManu_Garg2006" class="citation web cs1">Manu Garg (2006). <a rel="nofollow" class="external text" href="http://articles.manugarg.com/systemcallinlinux2_6.html">"Sysenter Based System Call Mechanism in Linux 2.6"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Sysenter+Based+System+Call+Mechanism+in+Linux+2.6&rft.date=2006&rft.au=Manu+Garg&rft_id=http%3A%2F%2Farticles.manugarg.com%2Fsystemcallinlinux2_6.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</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://x86.renejeschke.de/html/file_module_x86_id_26.html">"Liberation: x86 Instruction Set Reference"</a>. <i>renejeschke.de</i><span class="reference-accessdate">. Retrieved <span class="nowrap">4 July</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=renejeschke.de&rft.atitle=Liberation%3A+x86+Instruction+Set+Reference&rft_id=http%3A%2F%2Fx86.renejeschke.de%2Fhtml%2Ffile_module_x86_id_26.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSilberschatz2018" class="citation book cs1">Silberschatz, Abraham (2018). <i>Operating System Concepts</i>. Peter B Galvin; Greg Gagne (10th ed.). Hoboken, NJ: Wiley. p. 67. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9781119320913" title="Special:BookSources/9781119320913"><bdi>9781119320913</bdi></a>. <a href="/wiki/OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/oclc/1004849022">1004849022</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Operating+System+Concepts&rft.place=Hoboken%2C+NJ&rft.pages=67&rft.edition=10th&rft.pub=Wiley&rft.date=2018&rft_id=info%3Aoclcnum%2F1004849022&rft.isbn=9781119320913&rft.aulast=Silberschatz&rft.aufirst=Abraham&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> <li id="cite_note-Bach1986pp15-16-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-Bach1986pp15-16_16-0">^</a></b></span> <span class="reference-text">Bach, Maurice J. (1986), <i>The Design of the UNIX Operating System</i>, Prentice Hall, pp. 15–16.</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFElliot2011" class="citation web cs1">Elliot, John (2011). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120724153438/https://www.progclub.org/pipermail/list/2011-October/000150.html">"Discussion of system call implementation at ProgClub including quote from Bach 1986"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.progclub.org/pipermail/list/2011-October/000150.html">the original</a> on 24 July 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">1 October</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Discussion+of+system+call+implementation+at+ProgClub+including+quote+from+Bach+1986&rft.date=2011&rft.aulast=Elliot&rft.aufirst=John&rft_id=http%3A%2F%2Fwww.progclub.org%2Fpipermail%2Flist%2F2011-October%2F000150.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</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://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/4_Threads.html">"Threads"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Threads&rft_id=http%3A%2F%2Fwww.cs.uic.edu%2F~jbell%2FCourseNotes%2FOperatingSystems%2F4_Threads.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</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://kevinmarquet.net/wp-content/uploads/threading.pdf">"Threading Models"</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=Threading+Models&rft_id=http%3A%2F%2Fkevinmarquet.net%2Fwp-content%2Fuploads%2Fthreading.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3ASystem+call" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=System_call&action=edit&section=10" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="http://fxr.watson.org/fxr/source/kern/syscalls.master">A list of modern Unix-like system calls</a></li> <li><a rel="nofollow" class="external text" href="https://www.makelinux.net/kernel_map/">Interactive Linux kernel map</a> with main API functions and structures, <a rel="nofollow" class="external text" href="https://www.makelinux.net/kernel_map/LKM.pdf">PDF</a> version</li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20051024081539/http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html">Linux system calls</a> –  system calls for <a href="/wiki/Linux_kernel" title="Linux kernel">Linux kernel</a> 2.2, with <a href="/wiki/IA-32" title="IA-32">IA-32</a> <a href="/wiki/Calling_convention" title="Calling convention">calling conventions</a></li> <li><a rel="nofollow" class="external text" href="http://www.tldp.org/LDP/khg/HyperNews/get/syscall/syscall86.html">How System Calls Work on Linux/i86</a> (1996, based on the 1993 0.99.2 kernel)</li> <li><a rel="nofollow" class="external text" href="http://articles.manugarg.com/systemcallinlinux2_6.html">Sysenter Based System Call Mechanism in Linux 2.6</a> (2006)</li> <li><a rel="nofollow" class="external text" href="http://www.ibm.com/developerworks/linux/library/l-system-calls"><i>Kernel command using Linux system calls</i></a>, IBM developerWorks</li> <li>Choudhary, Amit; <a rel="nofollow" class="external text" href="http://tldp.org/HOWTO/html_single/Implement-Sys-Call-Linux-2.6-i386">HOWTO for Implementing a System Call on Linux 2.6</a></li> <li>Jorrit N. Herder, Herbert Bos, Ben Gras, Philip Homburg, and Andrew S. Tanenbaum, <a rel="nofollow" class="external text" href="https://www.usenix.org/publications/login/april-2006-volume-31-number-2/modular-system-programming-minix-3">Modular system programming on Minix 3</a>, <i>;login:</i> 31, no. 2 (April 2006); 19–28, accessed 5 March 2018</li> <li><a rel="nofollow" class="external text" href="http://task3.cc/projects/bd-shell/">A simple open Unix Shell in C language</a> –  examples on System Calls under Unix</li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121224002314/http://netcode.cz/img/83/nativeapi.html">Inside the Native API</a> –  <a href="/wiki/Windows_NT" title="Windows NT">Windows NT</a> <a href="/wiki/Native_API" class="mw-redirect" title="Native API">Native API</a>, including system calls</li> <li>Gulbrandsen, John; <a rel="nofollow" class="external text" href="http://www.codeguru.com/cpp/misc/misc/system/article.php/c8223/System-Call-Optimization-with-the-SYSENTER-Instruction.htm"><i>System Call Optimization with the SYSENTER Instruction</i></a>, CodeGuru.com, 8 October 2004</li></ul> <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="Application_binary_interface_(ABI)" 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"><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:Application_binary_interface" title="Template:Application binary interface"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Application_binary_interface" title="Template talk:Application binary interface"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Application_binary_interface" title="Special:EditPage/Template:Application binary interface"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Application_binary_interface_(ABI)" style="font-size:114%;margin:0 4em"><a href="/wiki/Application_binary_interface" title="Application binary interface">Application binary interface</a> (ABI)</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Parts,<br />conventions</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/Data_structure_alignment" title="Data structure alignment">Alignment</a></li> <li><a href="/wiki/Calling_convention" title="Calling convention">Calling convention</a></li> <li><a href="/wiki/Call_stack" title="Call stack">Call stack</a></li> <li><a href="/wiki/Library_(computing)" title="Library (computing)">Library</a> <ul><li><a href="/wiki/Static_library" title="Static library">static</a></li></ul></li> <li><a href="/wiki/Machine_code" title="Machine code">Machine code</a></li> <li><a href="/wiki/Memory_segmentation" title="Memory segmentation">Memory segmentation</a></li> <li><a href="/wiki/Name_mangling" title="Name mangling">Name mangling</a></li> <li><a href="/wiki/Object_code" title="Object code">Object code</a></li> <li><a href="/wiki/Opaque_pointer" title="Opaque pointer">Opaque pointer</a></li> <li><a href="/wiki/Position-independent_code" title="Position-independent code">Position-independent code</a></li> <li><a href="/wiki/Relocation_(computing)" title="Relocation (computing)">Relocation</a></li> <li><a class="mw-selflink selflink">System call</a></li> <li><a href="/wiki/Virtual_method_table" title="Virtual method table">Virtual method table</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related topics</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/Binary-code_compatibility" title="Binary-code compatibility">Binary-code compatibility</a></li> <li><a href="/wiki/Foreign_function_interface" title="Foreign function interface">Foreign function interface</a></li> <li><a href="/wiki/Language_binding" title="Language binding">Language binding</a></li> <li><a href="/wiki/Linker_(computing)" title="Linker (computing)">Linker</a> <ul><li><a href="/wiki/Dynamic_linker" title="Dynamic linker">dynamic</a></li></ul></li> <li><a href="/wiki/Loader_(computing)" title="Loader (computing)">Loader</a></li> <li><a href="/wiki/Year_2038_problem" title="Year 2038 problem">Year 2038 problem</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐khxd6 Cached time: 20241122142101 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.408 seconds Real time usage: 0.554 seconds Preprocessor visited node count: 1551/1000000 Post‐expand include size: 30856/2097152 bytes Template argument size: 1745/2097152 bytes Highest expansion depth: 12/100 Expensive parser function count: 3/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 62337/5000000 bytes Lua time usage: 0.246/10.000 seconds Lua memory usage: 5519305/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 477.374 1 -total 36.61% 174.752 2 Template:Reflist 28.38% 135.464 1 Template:Short_description 18.05% 86.145 1 Template:Application_binary_interface 17.43% 83.215 2 Template:Pagetype 17.41% 83.124 1 Template:Navbox 16.85% 80.417 1 Template:Cite_manual 12.73% 60.754 13 Template:Cite_web 6.85% 32.688 6 Template:Main_other 6.22% 29.698 1 Template:Distinguish --> <!-- Saved in parser cache with key enwiki:pcache:idhash:102908-0!canonical and timestamp 20241122142101 and revision id 1258249014. 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=System_call&oldid=1258249014">https://en.wikipedia.org/w/index.php?title=System_call&oldid=1258249014</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:Operating_system_technology" title="Category:Operating system technology">Operating system technology</a></li><li><a href="/wiki/Category:Application_programming_interfaces" title="Category:Application programming interfaces">Application programming interfaces</a></li><li><a href="/wiki/Category:System_calls" title="Category:System calls">System calls</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:CS1_maint:_numeric_names:_authors_list" title="Category:CS1 maint: numeric names: authors list">CS1 maint: numeric names: authors list</a></li><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:Use_dmy_dates_from_March_2022" title="Category:Use dmy dates from March 2022">Use dmy dates from March 2022</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 18 November 2024, at 23:19<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=System_call&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-f2r5r","wgBackendResponseTime":141,"wgPageParseReport":{"limitreport":{"cputime":"0.408","walltime":"0.554","ppvisitednodes":{"value":1551,"limit":1000000},"postexpandincludesize":{"value":30856,"limit":2097152},"templateargumentsize":{"value":1745,"limit":2097152},"expansiondepth":{"value":12,"limit":100},"expensivefunctioncount":{"value":3,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":62337,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 477.374 1 -total"," 36.61% 174.752 2 Template:Reflist"," 28.38% 135.464 1 Template:Short_description"," 18.05% 86.145 1 Template:Application_binary_interface"," 17.43% 83.215 2 Template:Pagetype"," 17.41% 83.124 1 Template:Navbox"," 16.85% 80.417 1 Template:Cite_manual"," 12.73% 60.754 13 Template:Cite_web"," 6.85% 32.688 6 Template:Main_other"," 6.22% 29.698 1 Template:Distinguish"]},"scribunto":{"limitreport-timeusage":{"value":"0.246","limit":"10.000"},"limitreport-memusage":{"value":5519305,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-khxd6","timestamp":"20241122142101","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"System call","url":"https:\/\/en.wikipedia.org\/wiki\/System_call","sameAs":"http:\/\/www.wikidata.org\/entity\/Q722192","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q722192","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":"2002-10-12T22:29:16Z","dateModified":"2024-11-18T23:19:11Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/6\/68\/Linux_kernel_interfaces.svg","headline":"in computer science, the mechanism used by an application program to request service from the operating system or another application program"}</script> </body> </html>