OS Chapter 2. システム構造



Chapter 2. システム構造
ユーザ|GUI、バッチ、コマンドライン|ユーザインタフェース|システムコール|サービス|OS|ハードウェア学習?
1. Operating-System Services
UI (User Interface)

  • これはユーザーがコンピュータシステムと会う場所です.

  • Batch Interface:コマンドをファイルに配置してコマンドを実行するインタフェース.(バッチファイル)

  • CLI:知ってる?コマンド#コマンド#

  • GUI:わかった?ビデオカード
  • Program Execution
  • プログラム👉 メモリへのロード👉 実行
  • I/O operation
  • プログラムにI/Oが必要な場合は、オペレーティングシステムを使用してI/Oデバイスを操作し、効率とセキュリティを向上させます.
  • File-system manipulation
  • ファイル書き込み、読み取り、作成、削除、アクセス制御
  • Communication

  • プロセス間の情報交換を担当します.

  • 技法上はShared MemoryとMessage Pasingがあります

  • もちろんメッセージングは遅くなるでしょう?
  • Error Detection
  • CPU、メモリ、I/O機器、プログラム等でエラーを検出し訂正する.
  • Resource Allocation
  • 複数のユーザーとタスクを同時に処理する必要がある場合は、計算リソースを割り当てる必要があります.
  • Accounting
  • どのプレイヤーがどのリソースを使用しているかを監視します.
  • Protection and Security
  • セキュリティは常に重要です.
  • 2. System Calls
    
    커널↔사용자 프로그램 이어주는 인터페이스예요.
    		User Application
    User mode
    		System call Interface
    Kernel mode
    
    😀 例を挙げましょうか.

  • ユーザープログラムにディスク上のファイルを開けてもらいたい(つまり、ファイルシステムにアクセスしたい).

  • KernelModeに切り替えるべきでしょうか?この場合はシステムコールを使用します
  • fopen()  関数が呼び出されると、オペレーティングシステムは시스템 콜 테이블(or 인터럽트 벡터)を参照します.

  • システム・チャートは、メモリ・アドレスのセットであり、各メモリ・アドレスは인터럽트 서비스 루틴を指す.(割り込みサービスルーチンは、通常、Cで記述されるコードである.)
  • 
    fopen() 👉 System Call Table 체크 👉 Table 속에서 인터럽트 서비스 루틴을 실행해요.
    

  • システム呼び出しの例には、fork()、exit()、read()、write()などの関数が含まれます.

  • ただし、標準ライブラリ(Standard Library)は、ユーザを直接呼び出すのは危険で不便である.  stdio.hは一種です.
  • ユーザProg→OSパラメータの3種類の伝達方式

  • Call by Value

  • Call by Reference

  • プログラムでStackにパラメータを追加し、オペレーティングシステムから値を減算します.
  • 3. Types of System Calls
  • 6大類.(法波長通報)
  • プロセス制御
  • end, abort, load, execute
  • ファイル管理
  • create, delete, open, close, read, write
  • デバイス管理
  • read, write, request, release
  • ▲保留情報
  • get/set time or date
  • つうしん
  • send/receive messages, transfer status
  • ほご
    4. Operating System Structure
    👉 現代のオペレーティングシステムは階層管理システムである.
    Simple Structure
    MS-DOS

  • Microsoftが開発したウィンドウの前で初めて使用したオペレーティングシステムです.

  • No階層化

  • User Progは、I/Oルーチンに直接アクセスして書き込みを行います.

  • したがって、User Progに障害が発生すると、システム全体に問題が発生します.
  • UNIX

  • 汎用マルチユーザインタラクティブ、時分割処理システムのオペレーティングシステム.

  • MS-DOSよりも機能が分離されていますが、依然として...Too much

  • Monollitic構造:実施、メンテナンスが困難.
  • Layered Approach

  • 階層化方法はオペレーティングシステム더 세분화해 계층을 분리である.

  • 第N層→0:0はハードウェア,Nはユーザインタフェースである.

  • メンテナンスに非常に有利です.
  • Micro kernels

  • キー要素のみを残す가벼운 커널です.

  • 長所
  • メンテナンスが容易
  • コンパイル、テスト時間が短い.
  • 移植性は良好です.

  • 短所
  • システムプログラムを追加して機能速度を遅くします.
  • Modules
  • 커널을 확장の技術.(OOPで言うようにモジュラー化)

  • モジュールをプロセスにリアルタイムで貼り付けて正常に動作させることができます.

  • 各機能を独立して管理できます.

  • デバイスドライバはすべてモジュール化されています!
  • .dllファイルはモジュールです.
  • Hybrid Systems
  • 스마트폰はオペレーティングシステム構造の最新バージョンです.
  • 커널의 핵심만 남긴 것このハイブリッドシステム.

  • 残りの部分は単独で実施する

  • iOS:BSDを核心とし、残りはすべてアップルが独自に実施

  • Android:Linuxはコア、自己実装ライブラリ