- 追加された行はこの色です。
- 削除された行はこの色です。
[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>Windows]]
* 目次 [#x8b536aa]
#contents
*GUIのクライアントOS [#ib9ff332]
Windows OSのオペレーションはGUI中心であり、
-初心者に対してフレンドリであり、
-且つアドホックな操作に強い
と言う特性があります。
これは、Windows OSが元々クライアントOSとして設計されたためと考えます。~
#この設計指針によって、WindowsはクライアントOSのトップシェアを獲得した。
-Microsoft Windows - Wikipedia~
http://ja.wikipedia.org/wiki/Microsoft_Windows
>1985年11月に「オペレーティング環境」との名称で登場した時は、~
MS-DOS上で稼動するグラフィカルユーザインタフェース (GUI) であった。~
当時、GUI環境で先行していた1984年登場のMac OSを追い越して~
世界のPC市場でトップシェアとなり、2009年10月にはインターネット上で~
使用されているクライアントの市場シェアの約90%を得た。
-【レビュー】世界のOSたち - GUIの世界へ移行した「Windows 1.0」
--(1) Windows以前のMicrosoft マイナビニュース~
http://news.mynavi.jp/articles/2013/03/06/oswindows/index.html
--(2) Windows 1.01登場! マイナビニュース~
http://news.mynavi.jp/articles/2013/03/06/oswindows/001.html
逆にシェル・スクリプト的な役割を担う[[BAT]]の機能は弱く、
-UNIXライクなパス操作をwindowsのcmd.exeのバッチファイルのみで実現~
http://pgkiss.web.fc2.com/windows/batch-file.html
後年、WSH([[VBScript>VBS]]、JScript)やPowerShellが実装されました。
*PCサーバの普及 [#uf45dd3b]
しかし、時代は流れ、Windows、Linux等の~
PCサーバが企業の基幹システムに食い込むようになってきました。
Linuxは、元々企業の基幹システムで利用されていたUNIX系OS~
(UNIXの仕様に似ている、UNIX参考にして作られた)であるため、~
PCサーバだからと言ってインフラSEに対する大きな影響はありませんでしたが、~
Windowsは、元々クライアントOSとして設計されており、使い勝手が異なるようです。
*設定方法の違い [#h3af44d7]
GUI経由の設定により、設定値が何処に反映されるかもわからないため、~
システム設定の自動化、差分確認、システムの複製、バックアップ・リストアなどが~
UNIX/Linux系のOSと比べ、対応し難いと言う点が上げられます。
-UNIX/Linux系OSでのOS、サービス、アプリケーションの設定は~
/etc、/home/user/以下のファイルに保存され、~
設定の仕様も、manページに記載されている。~
-これに対し、Windows OSでのOS、サービス、アプリケーションの設定は~
基本的にレジストリに保存されるが、設定はレジストリだけとは限らないこと、~
設定仕様のマニュアル化、レジストリ直接編集がサポートされていないケースがある。
このため、Microsoftも、
-コンソール・アプリケーション
-[[WMI]]
-[[PowerShell]]
の等のCUIを用意(整備)し続けていますが、
-用意されていないものがあったり、
-CUIを探すのに苦労するものがあったり、
・・・などが、一部あるようです。
なお、Windows OSは、OSバージョンアップに伴い、~
設定仕様(保存先)も変更されることが多いですが、~
CUIのインターフェイス変更は比較的少なく安定しているようです。
*その他の違い [#tfd2fde3]
**[[Active Directory]] [#j6348e05]
[[Active Directory]]と密に連携している点が大きく異なると思います。
-[[ドメイン サービス (AD DS)]]
--[[ケルベロス認証]]
--,etc.
-[[ADFS>フェデレーション サービス (AD FS)]]を使用した[[クレームベース認証]]
**[[アカウント]] [#d139fda8]
上記に関連して、[[アカウント]]系が違います。
-[[ベース クライアント セキュリティ モデル]]
-[[SPN]]、[[gMSA]]
*[[設定方法の違い>#h3af44d7]]の影響 [#jf4b0db7]
設定方法の違いによって、
-システム設定の自動化
-システム設定の差分確認
-システムの複製
-システムのバックアップ・リストア
に違いが生まれます。
**システム設定 [#cbc37dce]
-自動化
-差分確認
共に、CUIを使用して設定値を設定・取得する必要があります。
***自動化 [#iff2fc54]
レジストリ直接編集がサポートされていないケースがある。
***差分確認 [#u4564bec]
過去にレジストリ・ダンプによる設定の差分確認も試みてみましたが、~
半年運用したら、レジストリDUMPのDFFは8割程度が異なる結果となりました。
レジストリには、[[自動パラメタ>Windows 自動パラメタとチューニング]]などの情報も格納されるため、~
レジストリキーで範囲を絞らないDUMP&DIFFによる差分確認は困難です。
**システムの複製 [#gbb2bd3c]
-Windowsでは[[Sysprep]]が必要です。
-Linuxではマニュアル操作になります。
***参考 [#wa6d7a68]
-Sysprep - Wikipedia~
http://ja.wikipedia.org/wiki/Sysprep
--コンピュータ名の再生成
--一意なSIDの再生成
--カスタムドライバキャッシュデータベースの生成
--mini-setup または OOBE (Out of Box Experience)の再実行
-蒼の王座 » AzureのVirtual MachineでLinuxの調査と検証メモ~
http://sqlazure.jp/b/windows-azure/1225/
>Linuxのイメージを作成するには、Windowsの[[Sysprep]]的な処理を実行する必要があります。 ~
Linuxでは、Windows Azure Linux Agentが、その機能を提供しています。
**システムのバックアップ・リストア [#nfa1eb46]
レジストリ、その他のストレージに保存される設定がマニュアルに記載されていないため、~
/etc、/home/user/以下のバックアップ・リストアで済むUNIX/Linux系OSと大きく異なります。
ただし、アプリケーションによっては、/etc、/home/user/以下以外の~
バックアップ・リストアが必要になるケースもあると考えられるので、~
その辺りは、バックアップ対象アプリケーションの仕組みを理解した上で~
バックアップ・リストア設計を行う必要があるということに大きな違いは無いと考えます。
-[[IIS]]で言えば、メタベース~
MetaBase.xml、IIS7からapplicationHost.configに変更
-[[SQL Server]]で言えば、システム・データベース
--master データベース
--msdb データベース
--model データベース
--Resource データベース
--tempdb データベース
-[[Active Directory]]で言えば
--NTDS
--SYSVOL
-.NETで言えば、*.configファイル
--Machine.config
--Web.config
--*.exe.config(app.config)
***参考 [#e52bfcb8]
-Windows から Linux へのロードマップ 第 8 回 バックアップと復元~
http://www.ibm.com/developerworks/jp/linux/library/l-roadmap8/
>Linux はファイルベースのシステムなので、バックアップしたり復元したりするのに非常に有利です。Windows システムではレジストリが非常にシステム依存になっているので、設定やソフトウェアのインストールは単純にシステム上にファイルを落とせば良いというものではありません。ですからシステムを復元するには、こうした面倒な特性に対応できるソフトウェアが必要になります。ところが Linux では全く話が違います。設定ファイルはテキスト・ベースであり、ハードウェアと直接やり取りする時以外はシステムと独立しています。ハードウェア・ドライバに対する最近の手法ではドライバがモジュールになっており、動的にロードされます。これによりカーネルとシステムがより分離・独立したものとなるのです。Linux でのバックアップは、オペレーティング・システムがシステム上、ハードウェア上にどのようにインストールされているかという微妙な要素を操作するのではなく、ファイルを圧縮・解凍するだけなのです。
**サポートの考え方 [#e3aa5059]
Windows OSは、[[Level 200>#xd5d3376]]の利用者をターゲットにOSをコモディティ化しているため、~
日式メーカ企業のミッション・クリティカルなシステムに対象を絞った~
ニッチなサポートがあれば利用可能と思われる範囲内の利用方法であっても、~
(サポートポリシーに反するため)Microsoftからはサポートを得られないケースがあります。~
例えば
-レジストリの直接編集
--Windows レジストリの変更方法~
https://support.microsoft.com/ja-jp/kb/136393
-NAT 経由での Active Directory の使用。
--NAT 経由で Active Directory のサポート範囲について~
https://support.microsoft.com/ja-jp/kb/978772
-SID が重複した状態での使用。
--windows マシン SID の重複神話~
http://technet.microsoft.com/ja-jp/windows/mark_12.aspx
-.etc
平たく言って、
-Microsoftのサポートポリシーに反する使い方はサポートされない。
と言うことになります。
***参考 [#xd5d3376]
-Microsoft Tech·Ed Japan 2010 - 見どころとセッション レベル~
http://www.microsoft.com/japan/teched/2010/home/level.aspx
--Level 200~
受講いただいた方がテーマの製品やテクノロジの全貌、備わった機能を把握し、提案ができるようになることを目指したレベル
--Level 400~
受講いただいた方がプロジェクト リーダーやテクニカル リードとしてテーマの製品やテクノロジの活用の勘所をプロジェクト メンバーや部下、外部発注先に指導できることを目指したレベル
-[[Sysprep]]
--[[サポート>Sysprep#h1c9fcf6]]
>特定のサーバーの役割が構成された Windows Server 2008 R2 インストールに対し、/generalize オプションを使用して sysprep コマンドを実行すると、イメージングおよび展開の後にそれらのサーバの役割が機能しなくなる可能性があります(/generalizeオプションにより、SDI重複解消とドライバ削除が可能)。
*参考 [#w7f408ce]
-@IT
--「Linuxの真実、Windowsの真実」は虚実。 - @ITクラブ Cafe - @IT~
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15835&forum=3
--Linuxの真実、Windowsの真実~
http://www.atmarkit.co.jp/ad/ms/linuxvswin/top_index.html
---イントロダクション:LinuxとWindows。その本当のコストとリスクを評価するために
---第1回:ファイル/プリント・サーバの基本機能比較
---第2回:ネットワーク管理に不可欠なディレクトリ・サービス
---第3回:Linuxファイル・サーバの本当のTCO
---第4回:LinuxはWindowsより安全か?
---第5回:Office互換ソフトの実力とリスク
---第6回:Webサーバ・プラットフォームとしてのLinuxとWindows
---第7回: WebホスティングはUNIX/Linuxの独壇場か?
---第8回 Linux+フリーJavaは安いのか?
---第9回 可用性、スケーラビリティを備えたシステム開発
---第10回 座談会:SIerから見たLinuxとWindows(前編)
---第11回 座談会:SIerから見たLinuxとWindows(後編)
-Wikipedia
--UNIX - Wikipedia~
http://ja.wikipedia.org/wiki/UNIX
--Linux - Wikipedia~
http://ja.wikipedia.org/wiki/Linux
--POSIX - Wikipedia~
http://ja.wikipedia.org/wiki/POSIX
--Single UNIX Specification - Wikipedia~
http://ja.wikipedia.org/wiki/Single_UNIX_Specification
--Linux Standard Base - Wikipedia~
http://ja.wikipedia.org/wiki/Linux_Standard_Base