このページの本文へ

前へ 1 2 3 次へ

基礎から覚える 最新OSのアーキテクチャー 第12回

アプリがWindowsの機能を使うには? APIとDLLの仕組み

2012年03月15日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

アプリケーションを動かすことこそOSの仕事

 OSの最大の目的とは、アプリケーションプログラムを動作させることだ。OS自体がどういう構成をしていようと、アプリケーションが動かないOSは無意味な存在である。スケジューラーもメモリー管理も、すべてはアプリケーションプログラムのために存在する。

 メモリーを必要としたり別のスレッドを起動しようとするなど、アプリケーションがOS側の機能を利用するときに使うのが、「API」(Application Program Interface)である。これは、アプリケーションのバイナリ形式とともに各OSで定義されていて、OSがアプリケーションに対して提供する機能の集まりであるとともに、その呼びだし方や必要なパラメーターなどを定義したものだ。

 OSによってはGUIの機能がOS本体と不可分で、APIとしてGUIを構築する機能を提供するものもある。というのも、GUIは複雑な仕組みであるため、アプリケーションのレスポンスを上げるには、システムと密接に動作する必要があるからだ。Windowsも今ではGUIを分離できるようになったが、以前は不可分であった。

 ちなみに、GUIは必ずしもOS自身が提供するというわけではない。Linux系ではパッケージ(ディストリビューション)にGUIシステムが含まれているが、画面関連の処理は、独立したアプリケーションである「X Window System」が担当する。そのため、XなしGUIなしのシステムを作ることができる。また、Androidは同じLinuxカーネルを使うものの、X Windowは使わずにJava側の機能としてGUIを実現している。しかし、Android全体を見るとGUIは必須であり、OSの一部になっているといえる。

 もともとWindows NTは、GUI部分を含んだ「Windowsサブシステム」という部分があり、ほかのOS(例えばPOSIXOS/2)のサブシステムも持っていた。WindowsサブシステムはあくまでWindows NTが持つAPIセットのひとつであり、その中でWin32 APIに準拠したアプリケーションが動くものだったのである。しかしその後、ほかのサブシステムをWindowsに搭載する必要性は薄れたため、現在ではWindowsサブシステムと一体になったOSになった。それでも元をたどれば、Windows NTは複数のAPIセットを提供し、それぞれのアプリケーションを実行できるようになっていたのだ。

 APIにはOSが管理している資源の利用などのほかに、アプリケーションに対して、“あると便利”な機能などを提供する。例えば単純なファイルアクセスだけでなく、ZIP圧縮ファイルを扱うようなAPIがそれだ。圧縮ファイルはファイルのフォーマットであり、かつてはサードパーティアプリケーションとして、圧縮/解凍ユーティリティーが提供されていた(今でもあるが)。

 これらはOSが提供するファイルアクセスのAPIを使い、アプリケーション内でファイルを圧縮/解凍するプログラムとして存在していたわけだ。そのうちに、ZIPなど広く使われる圧縮フォーマットが確定すると、OSはこれをシステム側の機能として提供するようになる。ZIPフォーマットをエクスプローラーで直接扱うしくみは、Windows XPで取り込まれたものだ。

 OSが提供して、アプリケーションが制御して利用可能な機能は、すべてAPIであると言える。中にはビデオ再生のように、機能自体がアプリケーションに近いものもある。しかし、ビデオを再生するだけで一からプログラムを書かねばならないOSには、ビデオを扱うアプリケーションは登場しないだろう。

Windows NTはなぜPOSIXサブシステムを搭載していたのか?

 Windows NTがPOSIXサブシステムを搭載していたのは、米国政府が「政府で利用するコンピューターシステムは、すべてPOSIX準拠でなければダメ」と決めていたためだ。そのためWindows 2000までは、POSIXサブシステムが標準搭載されていた。

 Windows XPからは「Services for UNIX」を別途導入して使うものになり、現在は「Subsystem for UNIX-based Applications」(日本語版ではUNIXベースアプリケーション用サブシステム)という形で、Windows 7などに付属している。

 これらは標準ではインストールされておらず、コントロールパネルにある「プログラムと機能」から、「Windowsの機能の有効化または無効化」を使って追加できる。関連のアドオンは「Utilities and SDK for Subsystem for UNIX-based Applications」として、マイクロソフトのダウンロードセンターで配布されている。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事
1
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、Touch ID - シルバー
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、Touch ID - シルバー
¥177,333
2
Lenovo ノートパソコン パソコン IdeaPad Slim 3 15.3インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動16.9時間 重量1.59kg ルナグレー 83K100G4JP ノートPC
Lenovo ノートパソコン パソコン IdeaPad Slim 3 15.3インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動16.9時間 重量1.59kg ルナグレー 83K100G4JP ノートPC
¥107,800
3
【Amazon.co.jp限定】Lenovo Chromebook クロームブック Duet 11 10.95インチ MediaTek Kompanio 838 プロセッサー​搭載 メモリ8GB eMMC 128GB 重量1.0kg 83HH000TJP パソコン
【Amazon.co.jp限定】Lenovo Chromebook クロームブック Duet 11 10.95インチ MediaTek Kompanio 838 プロセッサー​搭載 メモリ8GB eMMC 128GB 重量1.0kg 83HH000TJP パソコン
¥61,800
4
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥36,970
5
【整備済み品】中古ノートパソコン 東芝Bシリーズ B55/B65 Windows11搭載 Core i5-6200U /メモリ8GB/SSD128GB/15.6インチ/Bluetooth/WIFI/HDMI/USB3.0/DVDドライブ/MS & Office2019/テンキー搭載/仕事用ノート (Bシリーズi5-6/メモリ8GB/SSD128GB)
【整備済み品】中古ノートパソコン 東芝Bシリーズ B55/B65 Windows11搭載 Core i5-6200U /メモリ8GB/SSD128GB/15.6インチ/Bluetooth/WIFI/HDMI/USB3.0/DVDドライブ/MS & Office2019/テンキー搭載/仕事用ノート (Bシリーズi5-6/メモリ8GB/SSD128GB)
¥15,990

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,880
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
4
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥743
5
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,100
6
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
¥1,880
7
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ホワイト T-K6A-2630WH
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ホワイト T-K6A-2630WH
¥1,899
8
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥4,918
9
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
¥652
10
UGREEN LANケーブル CAT8 1M メッシュLANケーブル カテゴリー8 コネクタ 超光速40Gbps/2000MHz CAT8準拠 イーサネットケーブル 爪折れ防止 シールド モデム ルータ PS3 PS4 Xbox等に対応 1M
UGREEN LANケーブル CAT8 1M メッシュLANケーブル カテゴリー8 コネクタ 超光速40Gbps/2000MHz CAT8準拠 イーサネットケーブル 爪折れ防止 シールド モデム ルータ PS3 PS4 Xbox等に対応 1M
¥699

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン