Posts

Showing posts from February 1, 2019

システムコール

Image
システムコール とは、オペレーティングシステム (OS)(より明確に言えばOSのカーネル)の機能を呼び出すために使用される機構のこと。実際のプログラミングにおいては、OSの機能は関数 (API) 呼び出しによって実現されるので、OSの備える関数 (API) のことを指すこともある。なお、μITRONでは サービスコール と呼ばれる。また、OSのことをスーパーバイザとも呼ぶため、 スーパーバイザコール ともいう。 例えば、C言語で使用できるfopen()やmalloc()などのライブラリ関数は、その関数内においてシステムコール(例えばPOSIX準拠のOSであればopen()やsbrk()など)を呼び出す。 目次 1 背景 2 機構 3 中間層としてのライブラリ 4 システムコールの例 5 参照 6 関連項目 背景 現代のプロセッサは一般にいくつかの特権状態で命令を実行する。2つのレベルを持つシステムでは、これを通常ユーザーモードとスーパーバイザーモードと呼ぶ。このような特権レベルがあるのは、セキュリティと安定性を保つためにオペレーティングシステムがその管理下で動作するプログラムによる操作を制限できるようにするためである。そのような制限を受ける操作としては、ハードウェア機器へのアクセス、割り込みの可/不可の変更、プロセッサの特権状態の変更、メモリ管理ユニットへのアクセスなどがある。オペレーティングシステムのカーネルはスーパーバイザーモードで動作し、ユーザーアプリケーションはユーザーモードで動作する。 このような複数の特権レベルを持つシステムを開発するにあたって、低い特権レベルから高い特権レベルへ制御を安全に転送する機構が必要となった。低い特権レベルのコードが単純に高い特権レベルに移行したのではセキュリティと安定性は保てない。例えば、低い特権レベルのコードが高い特権レベルのコードに間違った処理をさせたり、不正なコールスタックを渡すかもしれない。 機構 システムコールは、多くの場合、専用命令(インテルはPentium II以降, ARMは最初から)もしくはソフトウェア割り込みによって実行される。CPUの動作モードを遷移させることによって、通常のアプリケーションプログラムからは

リアルタイムオペレーティングシステム

Image
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。 ( 2016年1月 ) リアルタイムオペレーティングシステム (英: Real-time operating system ; RTOS )は、リアルタイムシステムのためのオペレーティングシステム (OS) である。組み込みオペレーティングシステムに多い。OSの主要な機能である資源管理において、時間資源の優先度に基づく配分と実行時間の予測可能性を提供することに特化している、ないし、そういった機能に力を入れている。 以下、ほとんどのRTOSが持つ、基本的な機能について述べる。 RTOSは、実行コンテキストを保持するオブジェクト(UNIXではスレッドと呼んでいるものに近いが、RTOSではもっぱらタスクと呼ぶ。以下タスクで統一する)と、タスク間の同期通信機構を提供する。同期通信機構により特定のタスクに待ち状態が発生したときのスケジューリングを行うのも、一般的なOSと同様RTOSの仕事であるが、このスケジューリング規則にRTOSの大きな特色がある。 RTOSへの要求には、以下のようなものが挙げられる。 ユーザーアプリケーションから、待ちが発生しないサービスコールを呼出した場合に要する最悪値 ハードウェア割り込みが発生してから、処理ルーチンを呼出すまでの最悪値 高優先度のタスクが確実に実行されることを保証するスケジューリング規則 RTOSは、時間制約を保証できる設計を実現するために使われる。以上の要求は、そのために必要な事項の一例である。 目次 1 設計上の特徴 1.1 スケジューリング 1.2 タスク間通信とリソース共有 1.3 割り込みハンドラとスケジューラ 1.4 メモリアロケーション 2 応用分野 3 APIから見た分類 4 リアルタイムオペレーティングシステムの例 設計上の特徴 スケジューリング RTOSは通常マルチタスクOSで、スケジューリングはタスクの優先度に基づいて行われる。タスクの実行中(割り込みハンドラやOS自身などの実行中でないということ)は、常に、実行可能状態にあるタスクのうち最高優先度

プロセス

Image
この項目では、コンピュータにおける処理の単位の一つについて説明しています。その他の用法については「プロセス (曖昧さ回避)」をご覧ください。 プロセステーブル プロセス とは、情報処理においてプログラムの動作中のインスタンスを意味し、プログラムのコードおよび全ての変数やその他の状態を含む。オペレーティングシステム (OS) によっては、プロセスが複数のスレッドで構成される場合があり、命令を同時並行して実行する [1] [2] 。 目次 1 概要 2 プロセスの構成 3 プロセスの分類 4 歴史 5 マルチタスクOSにおけるプロセス管理 6 プロセスの状態遷移 6.1 生成 6.2 走行可能 6.3 走行中 6.4 ブロック状態 6.5 終了状態 6.6 その他のプロセス状態 7 プロセス間通信 8 脚注 9 参考文献 10 関連項目 11 外部リンク 概要 コンピュータプログラムは命令の受動的集合体である。プロセスはそれら命令の実際の実行である。同じプログラムに対応する複数のプロセスが存在しうる。例えば、同じプログラムのインスタンスをいくつか開始することは、複数のプロセスの実行を意味することが多い。 マルチタスクは複数のプロセスがプロセッサ(CPU)や他のシステム資源を共有するための技法である。各CPUはある時点には1つのタスクだけを実行している。しかし、マルチタスクでは各プロセッサに各タスク間で切り替えさせることができ、各タスクの終了を待たずに次々とタスクを実行できる。OSの実装にもよるが、タスク間切り替えは入出力操作の際に行われたり、タスクが明示的に切り替え可能であることを指示したり、ハードウェア割り込みの際に行われたりする。 マルチタスクの典型的形態としてタイムシェアリングがある。タイムシェアリングは、対話型ユーザアプリケーションの素早い応答を可能にする技法である。タイムシェアリングシステムでは、コンテキストスイッチが高速に行われる。そのため、同一プロセッサ上で複数のプロセスが同時に実行されているように見える。複数プロセスを同時に実行することを並行性 (c

消防士

Image
アーケードゲームについては「消防士 BRAVE FIRE FIGHTERS」をご覧ください。 アメリカの消防士 平成26年8月豪雨による広島市の土砂災害で現場に展開した消防隊 消防士 (しょうぼうし) 消防に所属する職員のうち火災が発生した際に火災現場へ赴く者である。 日本の消防に所属する消防吏員の階級の一つ。 目次 1 消防に携わるしごと「消防士」 1.1 日本の消防組織 2 日本の消防の階級としての「消防士」 3 消防士の装備 4 消防士の疾病リスク 5 出典 6 関連項目 消防に携わるしごと「消防士」 消防に所属する職員のうち火災が発生した際に火災現場へ赴く者である。消防隊に所属している場合であると、 消防隊員 (しょうぼうたんいん)とも言われる。消防士の仕事は発生した火災の抑圧・沈静化と人命救助の二つである。 火災の食い止めは、日ごろから火災を防止するための広報、または各種消防設備の点検などといったことを始め、実際に火災が発生した際には消防車で現場に赴き、火災を最小限へ抑える努力をする。火災を最小限に抑える方法として、「火を消す」という方法が最も素早く、ポンプによって汲み上げた水を放水したり、消火器を使用したりして火を消す。人命救助は、火災現場で取り残されている人を助け出すことが主で、上層階などにいる人に対してははしご車などを駆使して助け出す。 日本の消防組織 日本の消防組織は、国の機関である消防庁と、地方自治体の消防本部や消防署、さらには消防団からなる。消防団は、普段は別の仕事をしている人がいざというときに駆けつけるもので、大半の消防活動は自治体に置かれた消防本部や消防署が行っている。 消防活動ですぐ思い浮かぶのが消防車で出場(日本の消防では出動ではなく、現場に赴くという意味で出場と呼ぶ)し、消防隊(ポンプ隊)による火災の消火である。これ以外には各種の災害対策や救助隊(レスキュー隊)による救助活動、救急隊による救急搬送、火災・災害予防のための指導や規制、防災のための広報活動などがその主な仕事である。 採用は各自治体ごとに行われる。東京消防庁の例でいうと、募集は大学卒業程度を対象としたI類、短大

カルシウム

Image
カリウム ← カルシウム → スカンジウム Mg ↑ Ca ↓ Sr 20 Ca 周期表 外見 銀白色、金属光沢の固体 カルシウムのスペクトル線 一般特性 名称, 記号, 番号 カルシウム, Ca, 20 分類 アルカリ土類金属 族, 周期, ブロック 2, 4, s 原子量 40.078  電子配置 [Ar] 4s 2 電子殻 2, 8, 8, 2(画像) 物理特性 相 固体 密度(室温付近) 1.550 g/cm 3 融点での液体密度 1.378 g/cm 3 融点 1115 K, 842 °C , 1548 °F 沸点 1757 K, 1484 °C , 2703 °F 融解熱 8.54 kJ/mol 蒸発熱 154.7 kJ/mol 熱容量 (25 °C ) 25.929 J/(mol·K) 蒸気圧 圧力 (Pa) 1 10 100 1 k 10 k 100 k 温度 (K) 864 956 1071 1227 1443 1755 原子特性