コンテンツにスキップ

OS/2

出典: フリー教科書『ウィキブックス(Wikibooks)』
< OS

はじめに

[編集]

OS/2(Operating System/2)は、1987年にIBMとMicrosoftの共同開発によって生まれた、32ビットマルチタスクオペレーティングシステムです。優れたメモリ管理と安定性を特徴とし、特にビジネス用途で広く使用されました。

第1章:基本コマンド

[編集]

1.1 ファイルシステム操作

[編集]

OS/2は、高度なHPFS(High Performance File System)とFATファイルシステムをサポートしています。

ディレクトリ操作

[編集]
[C:\]DIR
    Directory of C:\
    .            <DIR>         12-23-95   10:30a
    ..           <DIR>         12-23-95   10:30a
    CONFIG    SYS         285  12-23-95   10:30a
    OS2       INI        8942  12-23-95   10:30a
詳細表示オプション:
[C:\]DIR /ALL

ファイル操作

[編集]
[C:\]COPY source.txt target.txt
[C:\]MOVE oldfile.doc newfile.doc
[C:\]DEL unnecessary.tmp

1.2 Workplace Shell操作

[編集]

プログラミングインターフェース例:

// WPS オブジェクト作成
BOOL CreateObject(void)
{
    HOBJECT hObject;
    hObject = WinCreateObject(
        "WPFolder",              // クラス名
        "My Folder",            // タイトル
        "OBJECTID=<MY_FOLDER>", // セットアップ文字列
        "<WP_DESKTOP>",         // 場所
        CO_UPDATEIFEXISTS);     // フラグ
    return (hObject != NULLHANDLE);
}

第2章:プレゼンテーションマネージャ

[編集]

2.1 基本的なウィンドウ作成

[編集]
// 基本的なPMウィンドウ
MRESULT EXPENTRY ClientWndProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
{
    switch(msg) {
        case WM_CREATE:
            return 0;
        
        case WM_PAINT:
            HPS hps = WinBeginPaint(hwnd, NULLHANDLE, NULL);
            WinEndPaint(hps);
            return 0;
            
        case WM_DESTROY:
            WinPostMsg(hwnd, WM_QUIT, 0L, 0L);
            return 0;
    }
    return WinDefWindowProc(hwnd, msg, mp1, mp2);
}

2.2 リソース定義

[編集]
DLGTEMPLATE IDD_MAIN LOADONCALL MOVEABLE DISCARDABLE
BEGIN
    DIALOG "My Dialog", IDD_MAIN, 10, 10, 200, 100,
            WS_VISIBLE | FS_DLGBORDER
    BEGIN
        PUSHBUTTON "OK", DID_OK, 10, 10, 60, 14
        PUSHBUTTON "Cancel", DID_CANCEL, 80, 10, 60, 14
    END
END

第3章:マルチスレッドプログラミング

[編集]

3.1 スレッド作成

[編集]
VOID ThreadMain(ULONG ulParam)
{
    TID tid;
    DosCreateThread(&tid,
                    (PFNTHREAD)ThreadFunction,
                    ulParam,
                    0L,
                    8192L);
}

VOID ThreadFunction(ULONG ulParam)
{
    // スレッド処理
    DosBeginCritSec();
    // クリティカルセクション
    DosEndCritSec();
}

3.2 セマフォ操作

[編集]
HMTX hmtx;
DosCreateMutexSem(NULL, &hmtx, 0L, FALSE);
DosRequestMutexSem(hmtx, SEM_INDEFINITE_WAIT);
// 保護された操作
DosReleaseMutexSem(hmtx);

第4章:システム設定

[編集]

4.1 CONFIG.SYS

[編集]
PROTSHELL=C:\OS2\PMSHELL.EXE
SET PATH=C:\OS2;C:\OS2\SYSTEM;C:\;
SET DPATH=C:\OS2;C:\OS2\SYSTEM;C:\;
LIBPATH=.;C:\OS2\DLL;C:\OS2\APPS\DLL;
THREADS=64
MAXWAIT=3
PRIORITY=DYNAMIC

4.2 INIファイル操作

[編集]
// OS2.INI操作
BOOL WriteProfile(void)
{
    return PrfWriteProfileString(HINI_USERPROFILE,
                                "MyApp",
                                "Setting",
                                "Value");
}

第5章:OS/2の歴史

[編集]

5.1 開発の経緯(1985-1987)

[編集]

IBMとMicrosoftの協力関係から生まれたOS/2の開発過程:

  1. 1985年: 開発開始
  2. 1987年: OS/2 1.0リリース
  3. 1988年: OS/2 1.1(PMを含む)

5.2 成長期(1990-1994)

[編集]

OS/2 2.0の革新

[編集]
  • 32ビットアーキテクチャ
  • WPSの導入
  • DOS/Windowsアプリケーション互換性
  • 優れたメモリ管理

5.3 成熟期(1994-1996)

[編集]

Warp(OS/2 3.0)の特徴

[編集]
  1. パフォーマンスの向上
  2. マルチメディア機能の強化
  3. インターネット機能の統合
  4. BonusPakの提供

5.4 技術的遺産

[編集]
OS/2が残した重要な革新:
  1. 真のプリエンプティブマルチタスキング
  2. 保護メモリアーキテクチャ
  3. オブジェクト指向デスクトップ
  4. 高度なファイルシステム(HPFS)

まとめ

[編集]

OS/2は、現代のオペレーティングシステムの多くの重要な概念を先駆けて実装した革新的なシステムでした。特に、その安定性とマルチタスク能力は、エンタープライズコンピューティングの基準を確立しました。

附録:よく使用するコマンド一覧

[編集]
  • DIR: ディレクトリ表示
  • COPY: ファイルコピー
  • MOVE: ファイル移動
  • DEL: ファイル削除
  • TYPE: ファイル内容表示
  • MKDIR: ディレクトリ作成
  • RMDIR: ディレクトリ削除
  • CHKDSK: ディスクチェック
  • FORMAT: ディスクフォーマット
  • HELP: ヘルプ表示