コンピュータの仕組み ~ソフトウェア~ 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
コンピュータ資源を効率よく利用し、管理・維持する ユーザへの様々なサービスプログラムの提供 OSとは OS(オペレーティングシステム)とは、コンピュータのオペレーション(操作・運用・運転)のために、ソフトウェアの中でも基本的、中核的位置づけのシステムソフトウェア コンピュータ資源を効率よく利用し、管理・維持する プロセス管理、メモリ管理、ファイル管理、入出力管理、システム管理、利用者管理 ユーザへの様々なサービスプログラムの提供 コンパイラ、アプリケーション、ネットワークサービス 大きく分けると機能は4つ!! より使いやすくするための機能 GUIなど、ユーザとのインターフェイス ハードウェアの抽象化 ハードウェアの違いに関係なく,同じような管理システムを提供する
OSの歴史① 1940年代初め(OSのない時代) ・ユーザはマシンを単独使用し、プログラムとデータを事前に準備していた ・パンチカード等から入力されたプログラムを磁気テープに一旦保存し、その磁気テープを大型コンピュータに接続後、プログラムをロードして実行していた ・作業を自動化するバッチ処理がOSの機能として実現 ・プロセスの状態を監視するモニタが実装 1960年代(OSのマルチ化) ・1960年代前半、OS機能の増強が進められ、スプール、ジョブ管理、記憶保護、マルチプログラミング、タイムシェアリングシステム、仮想記憶の概念が登場し始めた ・1960年代後半、現在のOSの概念や基本部分(カーネル)の技術の大半がこの時期に完成 ・OS/360は世界初の商用OSとされ、本格的なマルチタスクを実現した
OSの歴史② 1970年代~1980年代前半(OSの巨大化) ・多種多様な分散システムが普及した ・UNIXはオープンシステムと呼ばれ、ミニコンピュータからメインフレームまで広く普及した ・1970年代には低価格なマイクロプロセッサが登場したが、初期のマイクロコンピュータは大規模なOSを搭載する容量もなかったため、ディスク管理程度の必要最低限の機能しか持たないOSが開発された 1980年代後半~2000年代初め(マルチユーザ・ネットワーク時代のOS) ・GUIやネットワーク、マルチメディアに対応させるため、堅牢なマルチタスク機能、高度なネットワーク機能などの機能がパソコンに求められるようになる 2000年代中盤以降(OSの多様化) ・2000年代中頃まではパソコンの性能向上が著しかったため、デスクトップ用途の新しいオペレーティングシステムは同時代における高性能なパソコンを必要としていたが、2006年を境にしてCPUの性能向上の限界が顕著に現れ始めると、高効率化を目指した開発にシフト ・スマートフォンやタブレットに代表される、デスクトップOSから派生した組み込みプラットフォームが普及し、モバイルコンピューティングが一般化した
代表的なOS ①メインフレーム(大型機)系OS OS/360、VM/370 ②ミニコン(中・小型機・ワークステーション)系OS UNIX(マルチユーザ・マルチタスク型) ③パーソナルコンピュータ系OS MS-DOS、OS/2、Mac OS、 Windows 3.0(疑似的なマルチタスク機能)、Windows95/98/Me/2000/XP/Vista/7/8(マルチユーザ・マルチタスク機能が本格化) ④モバイルOS 携帯電話やスマートフォン、携帯情報端末(PDA)などの携帯機器に搭載されたOS iPhone OS、Android ⑤特殊用途(組み込み機器など)用のOS ITRON(家電、携帯電話)、VxWORKS(国防)、Netware、トロン ⑥スパコンのOS 役割は一般的なコンピュータのOSと同じ UNIX 系、Linux 系
ユーザへのいろんなサービスプログラムを提供するシェル OSの機能 しかし! OSとは・・・ コンピュータのハードウェアを効率的に動かすための基本機能を提供するもの 人間がコンピュータを使って便利に仕事ができるようにするための各種サービスと仲立ちをするもの コンピュータが発達するとOSの機能も膨らんで巨大化し、逆にコンピュータのリソースを食うようになってしまった そこで、現在のOSは 必要最低限の機能を提供するカーネル ユーザへのいろんなサービスプログラムを提供するシェル の2層構造になっている 便利やねえ
カーネルとシェル カーネル OSの中核となる部分で、ハードウェアを一般化しプログラムとハードウェアを仲介するプログラムのこと. つまりCPUやメモリ、ハードディスクなどにアクセスする手段を提供する役割を担っている. シェル カーネルはCPUが解釈可能な機械語で通信を行うので、そのままでは人がコンピュータに命令を送ることが困難となる. そこで、シェルを使いユーザが入力した情報をカーネルにも解釈できる機械語に変換する. ハードウェア カーネル シェル
OSの動作 マルチタスク機能 カーネルの主な仕事 コンピュータシステムのそれぞれのリソースの状態を把握 ↓ 同時並列的に動いている各プロセスにリソースを割り当て 各プロセスの実行順序を制御 不要となったリソースを回収 コンピュータシステムのリソースを有効に利用するためには システムリソースを同時並列的に使用して、1台のコンピュータで一度に複数のプログラムを実行する これを マルチタスク機能 と呼ぶ
OSの動作 マルチタスク機能の ここがスゴイッ! ・マルチタスクに対応したOSでは複数のプログラムを同時に実行状態に置くことができ、利用者が操作・表示していないプログラムも処理を進めることができる ・利用者は複数のソフトウェアを利用する際にいちいち起動・終了を繰り返す必要がなく、即座に別のソフトウェアに切り替えて中断した操作を再開することが可能 シングルタスク環境 マルチタスク環境 時間のかかるネットワーク処理の待ち時間のあいだにCPUを使って別の計算を行い、全体の処理時間を短縮 プログラムの処理をタスクとして分割するとともに、CPUの処理時間を短い時間で区切り、複数のタスクのあいだで1つのCPUをタイムシェアする これによってあたかも複数のタスクが同時に実行されてるように見える
UNIXにログインする Edu1を選択すると ログイン画面に! ログイン成功!
UNIXを使ってみる calで その月のカレンダーがわかる! cal 1997で 1997年のカレンダーがわかる!