Share to: share facebook share twitter share wa share telegram print page

システムコール

システムコール: system call)とは、オペレーティングシステム (OS) の機能(より明確に言えばOSのカーネルの特権的な機能)を呼び出すために使用される機構のこと[1]。実際のプログラミングにおいては、OS機能の利用はAPIとして公開されている特別な関数の呼び出しによって実現されるので、OSの備えるAPI関数のことを指すこともある。なお、μITRONではサービスコールと呼ばれる。また、OSのことをスーパーバイザとも呼ぶため、スーパーバイザコールともいう。

例えば、C言語で使用できるfopen()やmalloc()などの標準ライブラリ関数は、その関数内においてシステムコール(例えばPOSIX準拠のOSであればopen()やsbrk()など)を呼び出す。システムコールは一般的なアプリケーションソフトウェアから直接呼び出すことができる(APIとして公開されている)ものもあれば、システムソフトウェアやデバイスドライバーからのみ利用できるようになっているものもある。

日本語では「システム呼び出し」または「システム呼出し」と直訳されることもある[2][3][4]が、この訳語を使って英語のinvoke a system callを訳すと「システム呼び出しを呼び出す」となってしまう。「システム呼び出しを起動する」と訳すこともできるが、一般的には外来語カナ表記である「システムコール」が使われることのほうが多い。

背景

現代のプロセッサは一般にいくつかの特権状態で命令を実行する。2つのレベルを持つシステムでは、これを通常ユーザーモードスーパーバイザーモードと呼ぶ。このような特権レベルがあるのは、セキュリティと安定性を保つためにオペレーティングシステムがその管理下で動作するプログラムによる操作を制限できるようにするためである。そのような制限を受ける操作としては、ハードウェア機器へのアクセス、割り込みの可/不可の変更、プロセッサの特権状態の変更、メモリ管理ユニットへのアクセスなどがある。オペレーティングシステムのカーネルはスーパーバイザーモードで動作し、ユーザーアプリケーションはユーザーモードで動作する。

このような複数の特権レベルを持つシステムを開発するにあたって、低い特権レベルから高い特権レベルへ制御を安全に転送する機構が必要となった。低い特権レベルのコードが単純に高い特権レベルに移行したのではセキュリティと安定性は保てない。例えば、低い特権レベルのコードが高い特権レベルのコードに間違った処理をさせたり、不正なコールスタックを渡したりするかもしれない。

機構

システムコールは、多くの場合、専用命令(インテルx86Pentium II以降、ARMは最初から)もしくはソフトウェア割り込みによって実行される。CPUの動作モードを遷移させることによって、通常のアプリケーションプログラムからはアクセスできない保護されたメモリ領域にアクセスすることや、保護されたレジスタを操作すること、また、自らCPUの動作モードを変更することなどが可能になる。

システムコールは特殊な命令を使うことが多く、それによってCPUは高い特権レベルのコードに制御を渡す。具体的な方法はシステムに依存するが、例外割り込みを発生させることで高い特権レベルに移行したり、特殊な分岐命令で高い特権レベルに移行したりする。このときにシステムコールの種別を示す番号や引数レジスタコールスタックに格納されていて、高い特権レベルのコード(カーネル)がそれを使用して処理を行う。

システムコールが呼び出されたとき、呼び出したプログラムは中断され、後で処理を続行するために必要な情報(コンテキスト)が保存される。そしてプロセッサが高い特権レベルのコードを実行し、上述のシステムコールの番号や引数を調べ、必要な処理を行う。この際に呼び出し側のアクセス権なども考慮して指定されたシステムコールを実行する権利があるかどうかがチェックされる。完了すると呼び出し側プログラムに復帰するため、保存されていた状態情報をリストアし、プログラムの処理が続行される。このとき所定のレジスタ(あるいはスタックの所定の位置)にリターン値が設定される。

多くの場合、プログラムへの復帰が即座に行われない可能性があることに注意が必要である。システムコールでは時間のかかるI/O処理をすることがあり(例えばディスクやネットワークへのアクセス)、プログラムは中断され(「ブロック」状態)、その処理が完了するまで「実行可能」キューに置かれる。必要な処理が完了すると、オペレーティングシステムはそれを実行の候補として扱う。

中間層としてのライブラリ

一般にオペレーティングシステムはユーザープログラムとオペレーティングシステムの中間に位置するライブラリを提供している。標準Cライブラリを実装したもの(あるいは同等の機能をもつもの)が多い。このライブラリ内で実際のシステムコール(カーネルへ渡す情報の設定や特権モードへの移行)が行われたり、特権レベルの処理を必要としない様々なデータ処理が行われたりする。これにより、オペレーティングシステムとアプリケーションの繋がりが緩められ、アプリケーションの移植性が高まっていると言える。特にダイナミックリンクライブラリ (.dll) であれば、システムコール処理部分が実行時にリンクされるため、アプリケーションの実行ファイルをそのまま他のオペレーティングシステム上で実行できる可能性が高まる。

Exokernelに基づいたシステムでは、ライブラリが特に重要である。Exokernelは非常に低いレベルのカーネルAPIしか提供せず、LibOSと呼ばれるライブラリが抽象化やリソース管理の機能を提供している。

システムコールの例

POSIXおよび類似のシステムでの主要なシステムコールとしては、open、read、write、close、wait、execvefork、kill などがある。ファイルシステム・ネットワーク・メモリ・プロセス・スレッド・セキュリティなどの機能を提供している。最近[いつ?]のオペレーティングシステムは数百のシステムコールを持つ。例えば、Linuxは317個(Linux 2.6.35.4現在, i386アーキテクチャ[5][6])、FreeBSDは約500個[7]である。

Microsoft Windowsの場合はWindows APIがシステムコールに相当する。

出典

  1. ^ システムコール(スーパーバイザコール / SVC)とは - IT用語辞典 e-Words
  2. ^ 2.7.6 演習: ユーザーによって実行されるプロセスのトレース”. Oracle. 2019年8月18日閲覧。[リンク切れ]
  3. ^ カート オール 著、野村 純子 訳「II, 6 システム呼出し」『例題で学ぶLinuxプログラミング』桑村 潤(1版)、ピアソン・エデュケーション、2001年5月20日(原著1999年12月3日)。ISBN 4-89471-2865 
  4. ^ シルバーシャッツ アブラハム、ガルビン ピーター ベール、ガニエ グレッグ「I, 2.3 システム呼出し」『オペレーティングシステムの概念』土居 範久(監訳)・大谷 真・加藤 和彦・光来 健一・清水 謙多郎・高田 眞吾・高田 広章・千葉 滋・野口 健一郎(訳)(1版)、共立出版、2010年11月。ISBN 978-4-320-12253-6 
  5. ^ Linux Systemcall Reference
  6. ^ linux/include/uapi/asm-generic/unistd.h - torvalds/linux - GitHub
  7. ^ FreeBSD syscalls.c, the list of syscall names and IDs”. 2013年3月24日閲覧。

関連項目

Read other articles:

Canadian country music singer Not to be confused with Toni Tennille, Tenille Townes, or Tenille Dashwood. Tenille ArtsTenille Arts performing in October 2018Background informationBirth nameTenille Jade Dakota ArtsBorn (1994-04-19) April 19, 1994 (age 29)Weyburn, Saskatchewan, CanadaOriginWeyburn, Saskatchewan, CanadaGenresCountryOccupation(s)SingersongwriterInstrument(s)Vocals, acoustic guitarYears active2009–presentLabelsDreamcatcher19th & GrandReviverWebsitewww.tenillearts.comMus...

 

Javaanse neushoornIUCN-status: Kritiek[1] (2019) Javaanse neushoorn in India (ca. 1900) Taxonomische indeling Rijk:Animalia (Dieren)Stam:Chordata (Chordadieren)Klasse:Mammalia (Zoogdieren)Orde:Perissodactyla (Onevenhoevigen)Familie:Rhinocerotidae (Neushoorns)Geslacht:Rhinoceros Soort Rhinoceros sondaicusDesmarest, 1822 Leefgebied Javaanse neushoorn Afbeeldingen op Wikimedia Commons Javaanse neushoorn op Wikispecies Portaal    Biologie Zoogdieren Op Java geschoten Javaanse ne...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada November 2022. I miei primi 40 anniSutradara Carlo Vanzina Produser Mario Cecchi Gori Vittorio Cecchi Gori Ditulis oleh Carlo Vanzina Enrico Vanzina PemeranCarol AltPenata musikUmberto SmailaSinematograferLuigi KuveillerPenyuntingJacques Gaillard Ruggero Mastr...

Nicolás Vargas Datos personalesNombre completo Pablo Nicolás Vargas RomeroNacimiento Rengo, Región del Libertador Bernardo O'Higgins15 de septiembre de 1993 (30 años)Nacionalidad(es) ChilenaAltura 1,75 m (5′ 9″)Peso 105 kg (231 lb)Carrera deportivaDeporte FútbolClub profesionalDebut deportivo 2011(O'Higgins)Club Deportes CopiapóLiga Primera División de ChilePosición Mediocampista, DefensorDorsal(es) 8Selección nacionalSelección Chile Chile Sub-20Part. 8T...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (ديسمبر 2018) أليكسي ميتين معلومات شخصية الميلاد 19 سبتمبر 1973 (العمر 50 سنة)بريانسك  الطول 1.92 م (6 قدم 3 1⁄2 بوصة) مركز اللعب حارس مرمى الجنسية روسيا  مسيرة ا�...

 

This article is about Houston's self-titled debut album. For her self-titled second album, see Whitney (album). 1985 studio album by Whitney HoustonWhitney HoustonStudio album by Whitney HoustonReleasedFebruary 14, 1985Recorded1983–1984Genre Pop[1] pop-soul[2] R&B[3] Length46:54LabelAristaProducerJermaine JacksonKashifMichael MasserNarada Michael WaldenWhitney Houston chronology Whitney Houston(1985) Whitney Dancin' Special(1986) Singles from Whitney Hous...

Isman H. SuryamanLahirIsman Hidayat Suryaman1 Juli 1976 (umur 47)Karawang, Jawa Barat, IndonesiaKebangsaanIndonesiaNama lainIsman HSPekerjaanPenulispelawak tunggalaktorTahun aktif2004—sekarangSuami/istriPrimadonna AngelaKarier menulisBahasaIndonesiaPeriodeAngkatan Reformasi (2004–sekarang)GenreSatirenovelskenarioesaiKarya terkenal7 Dosa Besar Penggunaan PowerPoint Isman Hidayat Suryaman, yang dikenal sebagai Isman HS (lahir 1 Juli 1976) adalah penulis, pelawak tunggal,...

 

Schizaeaceae TaksonomiDivisiPteridophytaKelasPolypodiopsidaOrdoSchizaealesFamiliSchizaeaceae Kaulf., 1827 lbs Schizaeaceae merupakan salah satu suku anggota tumbuhan paku (Pteridophyta). Suku ini terdiri atas tiga anak-suku: Schizaeoideae, Lygodioideae, dan Anemioideae. Masing-masing anak-suku memiliki satu marga (genus): Schizaea, Lygodium, dan Anemia. Artikel bertopik botani ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.lbs Pengidentifikasi takson Wikidat...

 

Sebuah penganan remah dari stroberi dan rhubarb, disajikan dengan es krim. Penganan remah adalah hidangan yang bisa dibuat dalam versi manis atau gurih. Penganan remah menjadi populer di Inggris selama Perang Dunia II,[1] ketika pugasan menjadi alternatif ekonomis untuk pai karena kekurangan bahan kue akibat penjatahan. Di Britania Raya, istilah penganan remah mengacu pada makanan penutup yang mirip dengan renyahan apel Amerika, yang diberi pugasan gandum gulung dan gula merah, atau m...

That's My GirlSingel oleh Fifth Harmonydari album 7/27Dirilis27 September 2016 (2016-09-27)GenreR&B[1]Durasi3:24LabelEpicSycoPenciptaTinashe KachingweAlexander KronlundLukas LoulesProduserKronlundLoulesKronologi singel Fifth Harmony All in My Head (Flex) (2016) That's My Girl (2016) Down (2017) That's My Girl adalah lagu yang direkam oleh girl grup asal Amerika Serikat Fifth Harmony. Lagu ini dirilis dan ditayangkan di radio hit kontemporer pada 27 September 2016, melalui Epi...

 

British comic book series This article is about the UK Marvel comic book. For the U.S. Marvel comics crossover, see Heroes Reborn (1996 comics). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Marvel Heroes Reborn – news · newspapers · books · scholar · JSTOR (April 2022) (Learn how and when to remove this t...

 

Nama ini menggunakan kebiasaan penamaan Filipina; nama tengah atau nama keluarga pihak ibunya adalah Lagman dan marga atau nama keluarga pihak ayahnya adalah Romero. Mikee Romero Michael Odylon Mikee Lagman Romero (Tagalog: [ˈmaɪki roˈmɛɾo]; lahir 21 Maret 1972) adalah seorang pengusaha, politikus dan pemain polo Filipina yang menjabat sebagai Wakil Ketua DPR sejak 2019, kecuali untuk periode 12 hari keluar dari jabatan pada Oktober 2020 karena krisis kepemimpinan DPR.[1 ...

United States historic placeF. D. Rose BuildingU.S. National Register of Historic Places F. D. Rose Building, January 2012Show map of IndianaShow map of the United StatesLocation121 E. Charles St., Muncie, IndianaCoordinates40°11′27″N 85°23′8″W / 40.19083°N 85.38556°W / 40.19083; -85.38556Arealess than one acreBuilt1926 (1926)ArchitectKibele & GarrardArchitectural styleRural MedievalNRHP reference No.84001023[1]Added to NRHPM...

 

В Википедии есть статьи о других людях с такой фамилией, см. Ермолаев; Ермолаев, Николай. Николай Васильевич Ермолаев Дата рождения 19 декабря 1924(1924-12-19) Место рождения Малодубровное, Половинский район, Курганский округ, Уральская область, РСФСР, СССР Дата смерти 3 декабр�...

 

This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (March 2023) (Learn how and when to remove this template message) Pyramid of el-Kula1842 drawing by PerringHuniConstructed3rd Dynasty ?TypeStep pyramidMaterialLimestoneHeight8.25 mBase18.60 m The Pyramid of el-Kula, along with the pyramids in Edfu-South, Elephantine, Omb...

1991 horror film The UnbornTheatrical release posterDirected byRodman FlenderWritten byJohn Brancato and Michael Ferris (as Henry Dominic)Produced byRoger Corman (uncredited)Rodman FlenderStarring Brooke Adams Jeff Hayenga James Karen K Callan Jane Cameron CinematographyWally PfisterMusic byGary NumanMichael R. SmithProductioncompanyConcorde-New HorizonsDistributed byCalifilmRelease dateMarch 29, 1991CountryUnited StatesLanguageEnglishBox office$1,159,578 The Unborn is a 1991 American science...

 

Item of clothing popularised by former Indian Prime Minister, Jawaharlal Nehru This article is about a long-sleeved article of clothing. For Nehru vest, see Bandi (jacket). For the album by Himanshu Suri, see Nehru Jackets. Japanese pinstripe Nehru suit, 1990s. The Nehru jacket is a hip-length tailored coat for men or women, with a mandarin collar, and with its front modelled on the Indian achkan or sherwani, a garment worn by Jawaharlal Nehru, the prime minister of India from 1947 to 1964. H...

 

Tup Tup PalaceTup Tup Palace ExteriorLocationNewcastle upon Tyne, United KingdomOwnerAaron Mellor, Matt Smyth, Nigel Holiday and Nicholas WoodheadTypeNightclubCapacity630Opened2007 (2007)Websitetuptuppalace.com Tup Tup Palace is a nightclub in Newcastle upon Tyne, United Kingdom. It was created in 2007 by entrepreneur James Jukes and club promoters Nigel Holliday and Matthew Smyth at a cost of £2M.[1] The major investors were Nicholas Woodhead and Scottish & Newcastle PLC. T...

Castlecraig, Black Isle Castlecraig, also known as Craig Castle and Castle Craig, is a 16th-century fortification located on the north shore of the Black Isle in northern Scotland. It is on the south coast of the Cromarty Firth, 5 kilometres (3.1 mi) north-east of Culbokie and 19 kilometres (12 mi) north of the city of Inverness. The castle is protected as a scheduled monument.[1] Castlecraig is a ruined tower house. The north-east wing still stands and remains roofed, altho...

 

Gempa bumi Sulawesi Utara 2021Tampilkan peta SulawesiTampilkan peta IndonesiaWaktu UTC2021-01-21 13:23:07ISCUSGS-ANSSTanggal setempat21 Januari 2021 (2021-01-21)Waktu setempat20:23:07 WITA (UTC+8)Kekuatan7,1 MwKedalaman154 km (96 mi)Episentrum4°59′N 127°23′E / 4.98°N 127.38°E / 4.98; 127.38Koordinat: 4°59′N 127°23′E / 4.98°N 127.38°E / 4.98; 127.38 BMKGWilayah bencanaSulawesi Utara, IndonesiaIntensit...

 
Kembali kehalaman sebelumnya