ikemonn's blog

技術ネタをちょこちょこと

はじめて読む486 3章

OSの役割

マルチタスク

  • 複数のタスクを順番に少しずつ実行していく

タスク切り替えの実現方法

  • タスク1を2に切り替える方法

  • タスク1の状態を保存するために、レジスタの内容をすべてメモリに保存する

  • メモリに保存されているタスク2の情報をレジスタに読み込む

  • イベント駆動方式のマルチタスク

    • 入出力のタイミングでタスクを切り替える
    • 時間がかかるイベントがあると、その間他のタスクが動かない
  • プリエンプティブなマルチタスク
    • 入出力のタイミングだけでなく、一定時間ごとに強制的にタスクを切り替える

メモリ管理

主要な役割

  • メモリ割り当て
  • メモリ保護
  • 仮想記憶

  • メモリに関して

    • OSが使用するメモリをシステム領域、残りのメモリをユーザ領域と呼ぶ
  • アドレス変換

    • プログラムがアクセスするメモリのアドレスと、実際にメモリチップにアクセスするアドレスを変換してしまうこと
    • タスクごとにアドレスの対応を変えることで、各タスクは他のタスクやOSの使用しているメモリのことを気にしなくて良くなる
    • 同時に、他のタスクのメモリやOSのメモリに誤ってアクセスすることを防ぐ
  • 仮想記憶

    • 実際に搭載しているメモリよりも多くのメモリがあるかのように見せる機能
    • 仕組み