Operating System Lecture No.10

## 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

## アンケート

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

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

Operating System Lecture No.10

Network and Device driver
device driver の構造
Kernelの再構築
Device Driverの構造
PCMCIA driver
Network Driver
Network OS
Distributed Operating System
HCI hyperconverged system
ユーザ管理
Quantum or DNA computing による解読
Verification
問題10.1
* 記述問題
問題10.2
*

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