ホーム > タグ > OS
OS
Windowsのバージョン取得
- 2010年7月29日 12:00 AM
- 資料
使うことなんてないと思うけれど、一応メモ。
Windows系コンパイラなら問題なくコンパイルできると思う。
一応、MinGWでコンパイル、動作確認は行った。
#include <windows.h>
#include <stdio.h>
int main(void)
{
unsigned int GV = GetVersion();
printf("GetVersion API(GV) = %08X\n\n", GV);
printf("_winver = %08X\n", _winver);
printf("_winmajor = %08X\n", _winmajor);
printf("_winminor = %08X\n", _winminor);
printf("_osver = %08X\n\n", _osver);
printf("(( GV << 8 ) | (( GV >> 8 ) & 0XFF)) & 0XFFFF = %08X (= _winver)\n",
(( GV << 8 ) | (( GV >> 8 ) & 0XFF)) & 0XFFFF );
printf("GV & 0XFF = %08X (= _winmajor)\n",
GV & 0XFF );
printf("( GV >> 8 ) & 0XFF = %08X (= _winminor)\n",
(( GV >> 8 ) & 0XFF));
printf("GV >> 16 = %08X (= _osver)\n\n\n",
(GV >> 16) );
// Windows version(_winmajor, _winminor, _osver)
printf("This system is [");
if ( _osver < 0X8000 ) {
// NT Group (_osver LowWORD MSB = 0)
switch (_winmajor) {
case 3:
case 4:
printf ("Windows NT %u.%u Build %u",
_winmajor, _winminor, _osver);
break;
case 5:
switch (_winminor) {
case 0:
printf ("Windows 2000 Build %u", _osver);
break;
case 1:
printf ("Windows XP Build %u", _osver);
break;
case 2:
printf ("Windows Server 2003 family Build %u",
_osver);
break;
default:
printf ("NT Group Windows Build %u", _osver);
}
break;
case 6:
switch (_winminor) {
case 0:
printf ("Windows Vista or Windows Server 2008 Build %u", _osver);
break;
case 1:
printf ("Windows 7 Build %u", _osver);
break;
default:
printf ("NT Group Windows Build %u", _osver);
}
break;
default:
printf ("NTGroup Windows Build %u", _osver);
}
}
else {
switch (_winmajor ) {
case 0: //Win32s Group
case 1:
case 2:
case 3:
printf ("Win32s Build %u", _osver & 0X7FFF);
break;
case 4: // 9X Group (_osver is invalid.)
switch (_winminor) {
case 0:
printf ("Windows 95 Build ----");
break;
case 10:
printf ("Windows 98 Build ----");
break;
case 90:
printf ("Windows Me Build ----");
break;
default: // To make sure
printf ("Newer than Windows Me");
}
break;
default: // To make sure
printf ("Newer than Windows Me");
}
}
printf("]");
return 0;
}
inferno in QEMU on WindowsXP

QEMUにNative infernoをインストールしたときのメモ
- 準備
- QEMU on Windowsをダウンロード
- inferno CD 2007May10をダウンロード
- QEMUを適当なところに解凍する(例:”C:\QEMU”)
- infernoCDをQEMUのディレクトリ内に解凍する(例:”C:\QEMU\inf.iso”)
- インストール
- 1GBのHardDiskImageの作成(コマンドプロンプト)
C:\QEMU>qemu-img create -f qcow inferno.img 1G - infernoCDからBoot(コマンドプロンプト)
C:\QEMU>qemu -L . -m 128 -boot d -cdrom inf.iso -hda inferno.img - インストールシェルスクリプトの実行(QEMU)
;sh install.sh -m /dev/sdD0 /dev/sdC0 - パーティションをPlan9で作成(QEMU)
>>> a p1 start cylinder: 0 end [0..1024] 1024 >>> A p1 >>> w >>> q - 再起動されるので再度インストールシェルスクリプトを実行(QEMU)
;sh install.sh /dev/sdD0 /dev/sdC0 >>> w >>> q - 「Remove the CD and reboot」と表示されたらQEMUのWindowsを閉じる
- 1GBのHardDiskImageの作成(コマンドプロンプト)
- 起動確認
- (コマンドプロンプト)
C:\QEMU>qemu.exe -L . -m 128 -hda inferno.img -net nic,model=rtl8139 - (QEMU)
; wm/wm wmlib: can't allocate Display: .initdisplay: /dev/draw/new: ;
とりあえず、動きはしたけれど、GUIが立ち上がらない。
VGAが見えてない?
QEMUはCL-GD5446をエミュレートしてらしい。
で、ソースをあさってみると os/pcに- vgaclgd542x.c
- vgaclgd546x.c
はあった。つまり・・・未対応?
もしかしたら応用でドライバかけるかもしれないけど今のところ見送り
QEMUはVESA起動もできるみたいなのでそちらも試してみる- (コマンドプロンプト)
C:\QEMU>qemu.exe -L . -m 128 -hda inferno.img -net nic,model=rtl8139 -vga std - (QEMU)
; wm/wm wmlib: can't allocate Display: .initdisplay: /dev/draw/new: ;
やっぱり駄目っぽい。
このCDに入ってるカーネルにはVGAドライバが組み込まれてないのかな?
このCD起動カーネルと昨日のFD起動カーネルではファイルサイズが結構違う。
つまり、コンパイルした内容が違うってことだろうけど、
このCDのカーネルと差し替えれるカーネルをつくるにはどうすればいいんだろう。
CDのカーネルと同じコンパイル条件を作りたいんだけど、
そもそもコンパイルオプションとかがよくわかってない。 - (コマンドプロンプト)
- 参考
inferno in VirtualBox on WindowsXP

inferno を VirtualBox上で動くように Ubuntu で コンパイル したときのメモ
- ソースコードの入手
- $apt-get install mercurial
- $cd /usr
- $sudo hg clone https://inferno-os.googlecode.com/hg/ inferno
- $sudo chmod -R 777 /usr/inferno
どうも、コンパイルが通らないのでVita Nuovaのバージョンを利用する。
- inferno Fourth Edition(inferno-20100120.tgz)をダウンロード
- inferno-20100120.tgzを解凍し、中身を/usr/inferno/へ上書き
- コンパイル用ライブラリのインストール
- $sudo apt-get install libxpm-dev
- $sudo apt-get install libxext-dev
- $sudo apt-get install x11proto-xext-dev
- infernoのコンパイル
- $sudo vi inferno/mkconfig
@@ -17,0 +18,0 @@ - SYSHOST=Plan9 +# SYSHOST=Plan9 + SYSHOST=Linux @@ -25,0 +27,0 @@ -# OBJTYPE=368 - OBJTYPE=$objtype + OBJTYPE=368 +# OBJTYPE=$objtype - $sh makemk.sh
- $export PATH=$PATH:/usr/inferno/Linux/368/bin/
- $mk nuke
- $mk install
- $sudo vi inferno/mkconfig
- PBS(PCパーティションブートセレクタプログラム)と9load(カーネルローダ)のコンパイル
- $mkdir /usr/inferno/Inferno/386/lib/
- $sudo chmod -R 777 /usr/inferno/Inferno/386/lib/
- $cd /usr/inferno/os/boot/pc/
- $mk pbs.install 9load.install
- カーネルコンパイル
- $cd /usr/inferno/os/pc
- $vi ether79x970.c
@@ -540,6 +540,7 @@ switch(x&0xFFFFFFF){ case 0x2420003: /* PCnet/PCI 79C970 */ case 0x2621003: /* PCnet/PCI II 79C970A */ + case 0x2625003: /* PCnet/FAST III 79C973 */ break; default: print("#l%d: unknown PCnet card version %.7ux\n", - $vi pc
@@ -48,10 +48,11 @@ kern link - ether2114x pci + ether79c970 pci +# ether2114x pci # ether82557 pci - ether83815 pci - etherelnk3 pci +# ether83815 pci +# etherelnk3 pci ps2mouse ethermedium # pppmedium ppp compress @@ -70,7 +71,7 @@ math init - wminit + shell code int kernel_pool_pcnt = 10; @@ -79,7 +80,7 @@ int image_pool_pcnt = 40; int cflag=0; int swcursor=0; - int consoleprint=0; + int consoleprint=1; port alarm @@ -137,3 +138,5 @@ /dis/lib/daytime.dis /dis/lib/auth.dis /dis/lib/ssl.dis + /dis/lib/arg.dis + /dis/lib/filepat.dis - $mk
- カーネルロード設定ファイルの作成
- $vi /usr/inferno/os/pc/plan9.ini
bootfile=fd0!ipc.gz
- $vi /usr/inferno/os/pc/plan9.ini
- フロッピーイメージの作成
- $emu
- ;cd os/pc
- ;gzip ipc
- ;disk/format -b /Inferno/386/pbs -df inferno.img /Inferno/386/9load plan9.ini ipc.gz
出来上がったinferno.imgをVirtualBoxにマウントしBoot
確かに起動はできたが、たまにPanicを起こす。
infernoもPlan9系だからVirtualBoxではだめなのかもしれない。
それに、Native infernoをコンパイルできたけど、FD起動なんだよね。
Plan9のブートローダで起動可能ってことはこれで分かったんだけど、
HDDからブートさせたい・・・Native infernoを使うにはPlan9の勉強した方がいいかもしれない。
次回はinferno in QEMU on WindowsXPを試してみよう。 - 参考
VirtualBox in Ubuntuで共有フォルダ
- 拡張機能のインストール
- 仮想マシンウインドウのメニューの「デバイス」→「Guest Additions のインストール」でインストールCDをマウント
- $cd /media/VBOXADDITIONS_3.2.4_62467/
- $sudo sh VBoxLinuxAdditions-x86.run
- 共有フォルダの設定
- 仮想マシンウインドウのメニューの「デバイス」→「共有フォルダ…」で共有フォルダを設定
- $sudu mkdir /mnt/share
(マウント先の作成) - $sudo mount.vboxsf Share /mnt/share/
(共有フォルダをマウント)
いろいろなOS
- 2010年4月24日 12:00 AM
- 資料
とにかくいろんな種類のOSをいじってみたいが毎回調べて忘れての繰り返しなので期待してるOSをメモして、いろんなところに残しとこう・・・。
- モノリシックカーネル
- BSD
- FreeBSD
忘れちゃいけないBSDの大御所 - OpenSolaris
Solarisといえば
- FreeBSD
- Linux
- INSERT
データ救出用Linux - PuppyLinux
古いPCでも軽快に動くことを目的としたLinux - GentooLinux
玄人向けのLinux - EcoLinux
日本人の大学生ががんばってるLinix - Elive
きれいで動きのあるGUIを提供するLinux - Chromium OS
Googleの作っているLinuxベースのWebOS - Joli OS
Jolicloudの作っているUbuntu LTSベースのネットブック用OS - Splashtop OS
MicrosoftがDeviceVM社と組み、Linuxをベースとした軽量Webアクセス用OS - Damn Vulnerable Linux
無防備極まるセキュリティ学習用Linux - BackTrack
セキュリティチェック用Linux
- INSERT
- Amiga
- icaros desktop
AmigaOS3.1 互換 AROSのディストリビューション - Syllable
AtheOSの派生OS
- icaros desktop
- MS-DOS
- FreeDOS
MS-DOS互換OS
- FreeDOS
- BSD
- マイクロカーネル
- Minix
UNIX風教育用OS - BeOS
- Haiku
今はなきBeOSの思想を引き継いだOS
- Haiku
- L4
マイクロカーネルらしさを追求した第二世代のマイクロカーネル - MonaOS
2ちゃんねる発 - MikeOS
OSの勉強にもってこい - ナノカーネル
- JNode
ほとんどすべてをJavaで作ったOS
- JNode
- Minix
- ハイブリッドカーネル
- ReactOS
WindowsNT互換OS - Plan9
次世代Unixを志した分散OS
- ReactOS
OS/2 や NetWareはないんだよなぁ・・・
まぁ、個人で使うことなんてないようなOSなんだけれど。
Chromium OSビルド「Flow」
以前にも紹介した、Chromium OSを簡単に入れられるビルド(非公式)。この度その製作者であるHexxeh氏が、自動更新、動画とWi-Fiサポートの強化、ウェブカム使用、メニューのカスタマイズなどが追加されるアップデートを行いました。その名も『Flow』。以前よりはウェイトアップしたものの、2GBのUSBメモリを用意するだけで実行できます。Windows、Linux、Macで(通常)起動可能です。
今回のアップデートですが、ハードウェアの性能によっては苦戦する可能性もありうるとのことです。
サーバーから直で327MBのダウンロードをしなければならないのですが、その分しばらく他のダウンロードは必要無さそうです。
前回ベータ版としてテストされた自動更新が、今回でデフォルト搭載となるので、今後はアップデートの度にUSBドライブをリセットせずに済むというわけです。
「Chrome OSって何?」というかたは、こちらの『Chrome OS』入門を参照してみてください。
It’s Flow time… [Hexxeh's Blog via Download Squad]
Kevin Purdy(原文/訳:松井亮太)
USBメモリ起動対応「ChromiumOS Zero」
Googleが開発中のウェブベースネットブックシステムのオープンソースビルドChromiumOSのサムドライブ対応版が完成しました。
Hexxehという名のハッカー作。彼の最新ビルド『ChromiumOSZero』はChromeアドオンサポート、スピード起動、その他が追加された秀作。彼自身によるアップデートの正式なリストはこちら。
ブロードコムベースのWi-Fiによるスピードロスや、OSの核となるChromiumブラウザが改善されています。
しかも、ビルド自体は1GBのUSBドライブに入るというコンパクトさ。
このリリース以降の更新は自動的にアップデートされるというおまけつき。
HexxehのサイトからBitTorrent、もしくは「Mirror」からでダウンロード出来ます。『ChromiumOSZero』を試してみたいけど…と尻込みしていた方もUSBからなら気楽に試してみることができそうです。
サムドライブからHexxehベースビルドを起動させる方法は過去記事「GoogleChromeOSをUSBメモリから起動する方法」をご覧下さい。
『ChromiumOSZero』はMac以外のシステムで(通常)起動可能なフリーダウンロードです。
Chromium OS Builds by Hexxeh[viaDownload Squad]
Kevin Purdy(原文/まいるす・ゑびす)
ネットブック用OS「Jolicloud」
先月テスト版がようやくリリースされた『Google Chrome OS』。圧倒的なスピードを誇り、これまでにない斬新なOSとして注目されていますが、完全なるブラウザ対応型という点がいまひとつ気に入らないというユーザさんも。こちらでは、『Chrome OS』の有力な対抗馬として、ネットブック用OS『Jolicloud』をご紹介しましょう。
『Jolicloud』が『Chrome OS』と大きく異なるのは、デスクトップアプリにも対応している点。またこちらのページでお分かりのとおり多種多様なデバイスとも対応しています。実際、米Lifehackerの仮想マシンでテストしたところ動作は良好で、他のハードディスクとの相性もいいようだとのこと。
『Jolicloud』にご興味が湧いてきた方はインストールしてみましょう。Windowsをアンインストールしなくても、ハードドライブで割り当てられたスペースでこれを使うことができます。以下のスクリーンショットのスライドショーで、まずは雰囲気をチェックしてみてくださいね。
インストールした後の流れは、大まかにこんな感じです。
『Jolicloud』のインストールが終わったら、次のようなログイン画面が現れます。
インストール時に設定したユーザ名とパスワードを入力。ログインすると、このようなJolicloudのランチャー画面が表示されます。
Jolicloudアカウントを設定します。特別なJolicloudアカウントは招待コードが必要ですので、早めに登録しておきましょう。Jolicloudのホームベースに登録できたら、以下のようなJolicloudのアプリケーションディクショナリーにアクセスできます。
この画面では、『Skype』、『Dropbox』、『Boxee』、『Spotify』といったデスクトップアプリをワンクリックでインストールできます。また、Jolicloudにログインすれば、Twitter・Facebookといったソーシャルネットワークにもアクセスできます。
こちらは更新マネージャ。アプリの更新情報を教えてくれる便利なプラットフォームです。
いかがでしたか?
『Chrome OS』とはそもそもの設計コンセプトが異なるので一概に比較できませんが、『Jolicloud』は『Chrome OS』にはないデスクトップ対応型という特徴があり、デスクトップ派の方には有力なネットブック用OSといえるでしょう。特に、アプリケーションディクショナリーはiPhone風なので、iPhoneユーザの方にはなじみやすいかもしれません。
『Jolicloud』はα版としてリリースされています。ダウンロードはこちらのページからどうぞ。
Adam Pash(原文/松岡由希子)
「Chrome OS」に関する7つのFAQ
1. そもそも『Chrome OS』ってどんなもの?
『Chrome OS』はウェブユースのためのOS。従来のOSと異なり、圧倒的なスピードが特徴です。
2. いつ、どうやってリリースされるの?
Googleによると、正式版のリリースは2010年11月頃になる見込みだそう。以下の画像で示されているとおり、OSの仕組みが大幅に異なるため、ダウンロードでのインストールは推奨しておらず、現在、『Chrome OS』対応PCを開発中だとか。価格帯についてはまだ明らかになっていませんが、Googleとしては、大きめのキーボードとマウスパッド付のネットブックでリリースしたい方針とのことです。
3. どんなに速いの?
ログオン画面まで7秒、デスクトップ表示まで4秒、計11秒で立ち上げ完了になる見込み。従来のOSよりも格段に速いですね。これは、『Chrome OS』用のファームウェアにより実現できるそうです。
4. 具体的に何が違うの?
『Chrome OS』の具体的な特徴として、以下の点が挙げられます。
- 従来のOSではゲームやアクセサリなどのアプリケーションに確保されていたマルチコアCPUや画像チップが『Chrome』に使える
- 『Chrome OS』で『Chrome』を使うと、さらにスピードアップ
- ウェブアプリがすべて。ゲームやアクセサリなど従来のアプリケーションがない。
- 『Chrome OS』はGoogleアカウントで制御されているので、どのネットブックを使っても自分のアカウントでログインできる。
- Gmail、GoogleDocsのみならず、『Chrome OS』で使う全てのものはすべてオンライン保存される
5. これまで使っていたアプリは使えない?
そうともいえません。たとえば、Microsoft Officeのオンライン版を活用し、Excelファイルなどを使えるようにする方針だそうです。
6. 印刷対応はアリ?
『Chrome OS』にも印刷機能は搭載される見込み。ただし、これまでにはない斬新なアプローチでプリンター対応する方針だとか。
7. ラップトップPCやデスクトップPCへの対応は?
まずはネットブックを最優先に取り組んでいるそうで、ラップトップPCやデスクトップPCはその後にリリース予定のようです。
Kevin Purdy(原文/松岡由希子)
ホーム > タグ > OS
- 検索
- フィード
- 翻訳





















