>>80
識者じゃないが、
一般的に言って、ハードウェアを直接弄る部分は
アセンブラで書かないといけない。これには他の手段はない。
ハードを制御できなければ使い道がないから最重要部分であるのは間違いない。
ただ、その分量はどういう構成にするかによって随分と変わってくる。
これも大雑把な例示をすれば、

アプリケーション→ドライバ→OS→ハードウェア

という風に、ドライバの代わりにOSが
ハードウェアへの直接アクセスを常に代行するのなら
OSにハードウェアの基本操作ライブラリを入れればいいので量は減る。
しかしオーバーヘッドが入るので速度は遅くなる。

アプリケーション→ドライバ→ハードウェア

こんな具合にドライバが直接ハードウェアを操作するのなら
オーバーヘッドは減るが、コードが分散するので量も増える。
また、このような形だと全体制御、エラー処理などの問題も出てくる。
どちらがいいかは状況による。