ホーム » スタッフ (ページ 186)

スタッフ」カテゴリーアーカイブ

2025年6月
1234567
891011121314
15161718192021
22232425262728
2930  

検索・リンク

OSの基本と資源管理

先週で説明の終えていなかった、機械語の生成の話の説明の後、OSについての具体的な説明を行う。

機械語の生成

先週末にコンパイラ方式とインタプリタ方式の話の次段階として、 機械語などはCPUやOSに依存する補足をして、 Javaにおける仮想マシンを用いたバイトコードインタプリタなどの説明を行う。

プログラムの機械語の実行の説明として、コンパイラによる中間コードの生成や、 リンカによる中間コードとライブラリの結合の話を行う。 また、リンクにも静的リンクと動的リンクがあり、 通常はプログラムの中にライブラリが埋め込まれる静的リンクがとられる。 しかしマルチタスクでは、メモリ中にライブラリの機械語が複数でてくると、 メモリのムダになるので、OSにライブラリを展開してもらう動的リンク方式があることを説明。動的リンクを使えば、ライブラリの修正アップデートも簡単といった利点を説明。

OSとは、

OSとは、基本ソフトウェアとよばれ、 (a)制御プログラム(狭義のOS,カーネル)と、(b)開発環境(言語プロセッサ等)、(c)ユーティリティ(CUI/GUI等)から成ることを説明する。

OSの機能として、周辺装置とのデータのやり取り・制御方法を共通化することで、 プログラム作成の労力削減が可能となる。 もう一つの重要な機能は、不用意なことをできなくすることによるデータの保護であり、 ハードを壊すような制御などを実行させない。 他のプロセスの動きを阻害するようなメモリアクセスをさせない。 他人のファイルを権限もないのに読めるようなことをさせない。…といった保護が重要。

これらの共通化や保護の対象となるものを資源(resource)と呼ぶ。 たとえば、キーボードやハードディスクといった周辺機器(物理的なリソース)、 計算に必要となる主記憶(メモリ)、CPUを利用する時間(抽象的なリソース)などがある。

プログラムの動く単位として、利用者視点でトータルの1つのサービスを提供する処理は、 ジョブと呼ばれる。これに対し、CPUが他の処理から保護する仕事の単位はプロセスと呼ばれ、ジョブは複数のプロセスで実現される場合もある。 一方、並行処理では複数のプロセスで実行するのが普通だが、共通のメモリ情報を使いながら動く処理は記述が面倒となる。 これに対しスレッドは、並列する複数の処理で同一メモリを利用できるものを指す。 複数のスレッドで1つのプロセスを構成する。

2011年10月30日(第240回)

  • オープンキャンパスの様子 環境都市工学科
  • 高専ロボコン東海北陸地区大会について

個人的なのもあるとはい…(10/26)

  • 10/26 個人的なのもあるとはいえ、LinuxサーバUpdateするのに、10台も触らないといけないって、なぜぇ〜 #fnct
  • 10/26 iPadで使える電子回路シミュレータを試す(3) http://tinyurl.com/3jh4e8e #fnct
  • 10/25 以前の卒研で使っていた、USB-IOの改良版 USB-IO2.0 なんて商品が出ている。 http://tinyurl.com/3w9h5lo #fnct だけど、ArduinoのUSBシリアル経由で ポート触るほうが、自由度高いかな…
  • 10/24 Bluetooth内蔵 Arduino。USBコネクタ無しだけど、BTシリアルで… http://tinyurl.com/3pqk95n #fnct

この記事は、twitter の @TohruSaitohに掲載した #fnct タグ付き記事を、まとめたものです。


パソコンでのOSの発達と言語プロセッサ

前回のコンピュータの歴史の続きということで、 パソコン周りのOSの発達の歴史を説明。

パソコンのOSの発達

16bitパソコンが出始めた頃は、Intel&MicrosoftによるMS-DOSと、 Apple社によるMacintoshが主流であった。 この時代では、シングルユーザ・シングルタスクが普通であった。 MacのGUI技術をMicrosoftがWindowsで発表したころから、 処理性能への要求から32bitコンピュータへと変化していく。

32bitコンピュータが出始めたあたりから、パソコンでも汎用機の影響や 複数のウィンドウ操作などの一般化で、マルチユーザ・マルチタスクが 取り入れられていく。 しかし、これまでのコンピュータは、メモリ保護機能が無かったので、 他の怪しいプロセスの影響をうけて動かなくなるトラブルがあたりまえであった。 しかし、Intel 80386で、保護機能がついた頃からマルチユーザ・マルチタスク化が 広がっていく。 Windows でも、Windows/NT,2000と発達していく。

同じ頃、汎用機での巨大なOS(例えばMultics)をミニコンで動かしたいという 要求から、unixがC言語と共に開発される。unixは、サーバ側で普及していく。 この中で、Linuxは無料で使えるOSとして、普及が始まりだす。 オープンソースの世界では、Internetからダウンロードしたソフトに改良を 施して良い物ができたら、そのソフトはインターネットに公開するという 原則から、世界中のハッカーにより改良・開発されたものが広まっていく。

言語プロセッサ

コンピュータは、CPU・メモリ・I/O・周辺装置から作られており、 ノイマン型コンピュータでは、Fetch/Decode/Read/Execute/Write/次の命令…の 繰り返しによって動く。 また、メモリは不揮発性のROMと、揮発性のRAMからできている。 コンピュータは電源が入ると、ROMに書かれているブートローダが、BIOSを 使ってHDDなどからOSの基本機能を、RAM上に読みだして動き出す。 ユーザがアプリケーションを起動すると、RAM上に読み込んで起動する。

アプリケーションなどのプログラムは、高級言語などで記述されるが、 プログラムの動かし方には、コンパイラ方式とインタプリタ方式がある。 コンパイラは、ソースプログラムをあらかじめすべて機械語に直して実行する。 このため機械語に治すのは時間がかかるけど、実行時は効率よく速く動く。 一方、インタプリタ方式は、ソースを必要に応じて解析して実行する。 このため繰り返しなどでは、命令解析がその都度行われるため遅い。

しかしながら、インタプリタ方式はすぐに動かすことができるため、 テスト開発では便利である。一方コンパイラ方式は、実行時にソースプログラム が不要であることから、アプリケーション配布時にソースコードの流出の 心配がないため、企業にとっては有利である。

2011年10月23日(第239回)

高専祭会場でのインタビューの様子を収録でお送りしました。

ITフォーラムの加速度セ…(10/21)

  • 10/21 ITフォーラムの加速度センサーとサーボのデモ動きが悪いと思ったら、電源用USBバッテリーが弱ってる見たい。 #fnct

この記事は、twitter の @TohruSaitohに掲載した #fnct タグ付き記事を、まとめたものです。


SQLのSELECT文の説明

データベース授業で、先週はデータ定義言語中心だったので、データ制御言語として、 SELECT文を説明。

SELECT文の説明として、教科書記載の納品業者テーブル、納品物品テーブルと、 それぞれの業者ID,物品IDを外部キーとして持つ、納品数テーブルを例として、説明を 行う。それぞれのテーブルの宣言と、3件程度の挿入命令を例として示す。

この後、SELECT文が、射影・結合・選択によって記載され、

SELECT 射影 FROM 結合 WHERE 選択 ;

のように記載し、射影で取り出す要素を指定、結合で対象となるテーブルを指定し、 選択で抜き出すデータの条件を示す。 結合では、対象テーブルの直積を作り出し(テーブル要素の全組み合わせ)、その中から 対象データの抜出が行われる。 条件の説明として、条件式やBETWEEN,LIKEなどの演算子を紹介する。

これに加え、副問い合わせ・相関副問い合わせなどを紹介する。

来週は、集約関数やGROUP,HAVINGなどを説明し、その後演習などに進む予定。

3年実験頑張るな〜

H8の実験だけど、1桁LEDとテンキーでフラッシュ暗算とな。 4週ネタでの労作なので、blogに掲載。

1110212340_720x563.jpeg1110212340_720x706.jpeg

ITフォーラム展示

恒例となった、産業会館でのITフォーラムの展示に参加してきました。 今年は、午後からプロコン課題部門に出展予定の作品のデモなどで、 IT研究会の学生さんの参加もあり、マンネリネタにならず良かった。 プロコンの予行演習にもなって、問題点の確認もできて参考になりました。

1110212322_720x645.jpeg

Googleさんに福井高専と聞いてみた

次に表示される検索キーワード候補は、 「偏差値、図書館、野球部」であった。 偏差値は、時節柄わかるけど、図書館・野球部って…. 1110182136_628x185.png

システム

最新の投稿(電子情報)

アーカイブ

カテゴリー