/
570.txt
115 lines (85 loc) · 4.55 KB
/
570.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
* 実例
[7] たくさんの [[OS]] があります。
[FIG(list short)[
- [[Unix]]
- [[AIX]]
- [[Solaris]]
- [[FreeBSD]]
- [[OpenBSD]]
- [[NetBSD]]
- [[Hurd]]
- [[Minix]]
- [[Linux]]
- [[Android]]
- [[Chrome OS]]
- [[Firefox OS]]
- [[CP/M]]
- [[MS-DOS]]
- [[PC DOS]]
- [[DR-DOS]]
- [[OS/2]]
- [[Windows]]
- [[Windows NT]]
- [[Windows CE]]
- [[Windows Mobile]]
- [[Mac OS]]
- [[Mac OS X]]
- [[NeXTSTEP]]
- [[iOS]]
- [[Plan 9]]
- [[BeOS]]
- [[Haiku]]
- [[TRON]]
- [[超漢字]]
- [[SOS]]
- [[NWSOS]]
]FIG]
* 標準化
[8] [[OS]] の提供する機能の一部は [[POSIX]] や [[SUS]] として[[標準化]]され、
[[デスクトップ]]や[[サーバー]]向けの [[OS]] のほとんどが対応しています。
ただしその[[適合]]の度合いは様々ですし、[[標準化]]されているのは基本的な部分に限られています。
* プラットフォーム
[9] [[OS]] 本体やその上で動作する、各[[アプリケーション]]に機能を提供する一連の[[コンポーネント]]を総合的に[[プラットフォーム]]と呼ぶことがあります。
;; [10] [[Cygwin]] のように、 [[OS]] 上で動作する追加の (他の[[プラットフォーム]]由来の)
アプリケーション実行環境を組み合わせた[[プラットフォーム]]もあります。
[11]
[[OS]] という言葉の意味は曖昧ですが、[[プラットフォーム]]という言葉はより曖昧に広範囲を指す言葉となっています。
* メモ
[6] ''osdev-j - FrontPage'' <http://wiki.osdev.info/>
[5] [CITE[はてな OSを作りたい!OSって何ですか?教えてください。初心者です。]] <http://www.hatena.ne.jp/1128080743>
([[名無しさん]] [WEAK[2005-10-04 00:25:49 +00:00]])
[4] [CITE@en[RFC 5854 - The Metalink Download Description Format]]
( ([TIME[2014-09-14 16:54:14 +09:00]] 版))
<http://tools.ietf.org/html/rfc5854#section-4.2.10>
[3] [[計算機]][[プログラム]]の実行を制御する[[ソフトウェア]]であって、
[[スケジュール]], [[デバッグ]], 入出力制御, 課金処理,
[[コンパイル]], [[記憶域]]割当, データ管理およびこれらに関連した
諸サービスを行うもの。 ([[JISX0211]]-1994 4.2.54)
[1]
オペレーティング・システムの役割:
:[[資源管理者]]:ソフトウェア資源 (プログラム、データなど)、
ハードウェア資源 ([[CPU]], [[主記憶]], [[ディスク]],
[[印刷機]]など) をいつ誰にどれだけ提供するかを決定し、
資源の有効活用を図ると共に[[利用者]]間での資源の共有を実現します。
:[[制御プログラム]]:[[利用者プログラム]]や[[ハードウェア]]を管理します。
:[[仮想機械]]:[[ハードウェア資源]]を[[プロセス]]や[[ファイル]]などに[[抽象化]]し、
[[利用者]]が操作しやすいプログラミング環境を提供します。
[2]
オペレーティング・システムの[[核]]の構成要素:
:[[プロセス管理]]:
[[プロセス]]の生成、消滅、実行中の[[プロセス]]の状態の把握を行います。
:[[スケジューラ]]:
[[プロセッサ]]の状態を把握し、[[プロセス]]にいつどれだけ割付けるかを管理します。
:[[同期]]:
[[資源]]を共有する[[プロセス]]間の同期を行います。
:[[記憶管理]]:
[[仮想記憶]]や[[プロセス]]への[[記憶]]領域の割付けの管理を行います。
:[[割込み制御]]:
[[割込み]]の発生を検知し、[[割込み]]の要因を判定して適切な処理を呼出します。
:[[入出力制御]]:
[[入出力装置]]の状態を把握し、効率良く利用できるように[[スケジューリング]]します。
:[[ファイル・システム]]:
[[二次記憶装置]]上の領域の管理と論理的な[[ファイル]]へのアクセスを提供します。
[12] [CITE@ja[なぜ人は自作OSをするのか?自作OSとは何か? 〜自作OSのいまと昔 '''['''第1回''']''' | さくらのナレッジ]], [TIME[2023-04-20T06:22:01.000Z]] <https://knowledge.sakura.ad.jp/22042/>
[13] [CITE@ja[現代における自作OSの難しさ 〜自作OSのいまと昔 '''['''第2回''']''' | さくらのナレッジ]], [TIME[2023-04-20T06:23:56.000Z]] <https://knowledge.sakura.ad.jp/22963/>
[14] [CITE@ja[自作OSの将来とは?自作OSのススメ 〜自作OSのいまと昔 '''['''第5回''']''' | さくらのナレッジ]], [TIME[2023-04-20T06:29:15.000Z]] <https://knowledge.sakura.ad.jp/25000/>