Operating System Lecture No.10

Menu


Network and Device driver


device driver の構造

Unix の /dev を調べてみよう。/dev の下にあるのは、node と呼ばれる special file である。これは、Unix がアクセスできるI/O に対してファイルとしての名前を付けたものである。Special file には、通常のファイルと同様に onwer, group, mode がある。

Special file は、mknod コマンドによって作られる。/etc/MAKEDEV script を見て、それらの作り方を調べよう。Unix の device driver には以下のようなものがある。

      serial driver
      block device
      network device
      USB device

Unix では、device driver は、kernel 構築時に決定され、boot 時に検出される。

Solaris では、/dev 以下のディレクトリの構成は、ハードウェア構成に対応するように作られている。これらは、boot 時に check され再構成される。check するかどうかは、boot コマンドと、/etc/reconfigure というファイルで制御される。


Kernelの再構築

Kernel は、コンフィグレーション・ファイル(例えば /sys/i386/conf ) によって構成を決めることができる。

このあたりの仕組みは、同じUnixでも、さまざまに異なるので注意しよう。

特に Linux では、どうなっているか?

kernelの構築の後に、dynamic にmoduleをloadする方法もある。この方法の利点と欠点はなんだろうか?


Device Driverの構造

ユーザプログラムからのI/O request ( read/write/ioctl/fcntl ) は、kernel を経由した後、device driver に渡される。device driver は、その順序を適当に変更しながら処理を行なう。

Device driver は、device からのinterrupt も受け取る。したがって、device driver 内部では、kernelからのI/O request と、interrupt との同期を取る必要がある。これは、kernel 内部の同期機構を使って実現される。Single Processor では、Interrupt 禁止程度で十分だが、Multi Processor では、そうとは限らない。

Device Driver は、階層的な構成をとることがある。例えば、一つのディスクコントローラには、複数のハードディスクが付く。これらの情報は、Device Driver 固有の情報に木構造として格納される。


PCMCIA driver

PCMCIA driver では、動的なカードの抜き差しに対応する必要がある。BSD/OS では、すべてのPCMCIA driver は、cs driver (card service driver)の下にあり、抜き差しが管理されている。


Network Driver

   ifconfig  /  ip
   routing
   ss
   network built-in
   mbuf

KA9Q super loop


Network OS

  APSTNDP
  Please, Do Not Throw Sausage Pizza Away

APSTNDP の 7階層の役割をを、キーワードと一緒に理解しよう。

Application Netscape, Outlook ユーザが使用するアプリケーション
Presentation GIF, ASCII, WAV コンピュータが理解できるバイナリデータ形式に変換する
Session CIFS, NFS, SMTP, ssh, httpd 要求応答の組、サービスの始まりから終りまでを管理する
Transport TCP, 信頼性, 順序性, 再送 segment 順序を保証する通信を提供します
ここに大きなギャップがある。ここより上は一つのPC内部での処理。ここより下は、ネットワーク機器 に分かれている。
Network IP アドレス, Routing, ICMP packet 複数のネットワークをつなぎ、データを中継する
Data Link 物理アドレス, Ethernet Packet frame 複数のネットワークをつなぎ、データを中継する
Physical ケーブル, NIC bit 電気信号や光信号をつなぐ


Distributed Operating System

 
 NFS
 remote procedure call
 concurrent object
 process migration

Mobile Process

Multi-Thread や Process との差


HCI hyperconverged system

Server を比較平坦な形で構成して、

その上に software defined な storage を構成する ( Ceph )

そこに VM あるいは Container でサービスを作る

   pdoman / docker /singularity
   KVM / VMware

Cloud と連携しても良い


ユーザ管理

LDAP

radius

gitlab


Quantum or DNA computing による解読


Verification

Security を保証するためには?


問題10.1

記述問題

問題10.2

アンケート

岡崎先生のアンケートに答えて下さい。

解答したことをメールで所定の形式で報告すること。サブジェクトのみで良い。


Shinji KONO / Fri Jan 26 14:12:36 2024