12
Operating Systems オペレーティングシステム概論 2020-01 1

Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

Operating Systemsオペレーティングシステム概論

2020-01

1

Page 2: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

授業の進め方p OSの仕組みについて講義形式で説明する

p その基本部分をプログラミング実習で確認する

p 表面的な知識だけでなく,技術面での理解が目標

p 小テスト(知識)とレポート(技術)によって評価する

p コンピュータアーキテクチャとC言語の知識が必要

2020 H. SHIOZAWA http://vilab.org

2

Page 3: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

(準備) Visual Studioの入手p Windowsにおける標準開発環境

n C/C++,C#,Visual Basic,JavaScript等に対応n この授業では,C言語(Visual C++)のみを利用

p まだ持っていない人は…n マイクロソフトのサイトでダウンロード(Visual Studio 2019)n https://www.visualstudio.com/ja/n Community版なら無料 (機能はProfessionalと同等)n ワークロードの選択で「C++によるデスクトップ開発」が必要(7GB)n 他の機能も選択するとダウンロード量が20GBになるので注意

p うまく動かない場合は、相談してください

2020 H. SHIOZAWA http://vilab.org

3

Page 4: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

オペレーティングシステムp OSと聞いて思い浮かべるものは?

n Microsoft Windowsn Apple macOSn UNIX / Linux

p 目立たないOS (組み込みOS)n スマホ,携帯端末 (Apple iOS,Google Android)n 情報家電 (音楽プレイヤー,ビデオカメラ,多機能テレビ)n ネットワーク機器(ルーター),電話交換機n 自動車,飛行機,ロボットn 現代では,コンピュータの入っているものなら何でも…

2020 H. SHIOZAWA http://vilab.org

4

Page 5: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

「OS」とは?p Operating System

n コンピュータの一部ともいえる最も重要なソフトウェアn 日本語では「基本ソフトウェア」と呼ばれたりするn ×「オペレーション・システム」 ○「オペレーティング・システム」

p どんな役割をしているか?n コンピュータシステムを管理する(内部の“交通整理”をする)n アプリケーションプログラム(“アプリ”)を起動したり終了させたりするn 各プログラムがうまくハードウェアの機能を使えるように調整する

p OSについて知らないと…n 対応するOSが違うソフトウェアを買っても動いてくれないn 「コンピュータも,OSがなければただの箱」

2020 H. SHIOZAWA http://vilab.org

5

Page 6: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

役割によるソフトウェアの分類p システムソフトウェア

n コンピュータを動かしていくためのソフトウェアn カーネル(狭義のOS)n 基本ライブラリn シェルn コンパイラn などなど…

p アプリケーションソフトウェアn 人間の作業のためのソフトウェアn ワープロ,表計算,ゲームn Webブラウザ,電子メールn などなど...

2020 H. SHIOZAWA http://vilab.org

6

ハードウェア

カーネル(狭義のOS)

アプリケーションソフトウェア

シェル基本ライブラリ

ユーザOS

Page 7: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

OSの役割p 資源の効率的管理

n コンピュータの資源=リソースp CPU,メモリ,ストレージ,画面,etc…

n コンピュータ資源の効率的利用を図る

p システムの制御n メモリやディスクをコントロールするn 資源へのアクセス制御を行うn コンピュータシステム内部の交通整理をする

p “仮想計算機”の提供n ソフトウェアから扱いやすいハードウェアモデルを提供するn ハードウェアや周辺機器の違い(変化)を吸収する

2020 H. SHIOZAWA http://vilab.org

7

資源

ワープロ ゲーム

その他ソフトウェア

Page 8: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

OSの代表的機能p プロセス管理

n 実行中のプログラムの管理n コンピュータの実行状態の制御

p メモリ管理n 主記憶(メインメモリ)の管理n プログラム実行のためのメモリの管理

p ファイル管理n 補助記憶(ストレージ)の管理n HDDやSSDに保存されたデータの管理

p その他n 通信・ネットワーク,セキュリティ,ユーザ・課金管理など…

2020 H. SHIOZAWA http://vilab.org

8

Page 9: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

OSによるハードウェアの抽象化p “仮想計算機”の提供

n OS(特にデバイスドライバ)は,ハードウェアの機種等の違いによるアクセス手順の違いを吸収し,統一したAPIを提供する

2020 H. SHIOZAWA http://vilab.org

9

ハードウェアA

デバイスドライバA

OSカーネル

アプリケーション

ハードウェアB

デバイスドライバB

OSカーネル

アプリケーション

OSがハードウェアの違いを隠蔽

API API

Page 10: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

OSの構成要素

2020 H. SHIOZAWA http://vilab.org

10

CPU メモリ さまざまなハードウェアストレージ

プロセス管理 通信制御 ファイルシステム

メモリ管理 割込み制御 タイマ管理

デバイスドライバ デバイスドライバ

シェル

管理プログラム

ワープロ ブラウザ さまざまなソフトウェア

基本ライブラリ

!"#$

%&'"()*+,-(.

Page 11: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

実習用OSの動作確認p Hyper Operating System

n ITRON準拠のリアルタイムOSカーネル(教育・自作用)n 組み込み用なので,シェル(ユーザインタフェース)は付属しない

p インストールn 講義資料のページ http://vilab.org/os2020/n hos-v4-vs2019.zip をダウンロードし,すべて展開する

p サンプルの実行n sample¥win¥sample.sln をVisual Studioで開くn ビルド→実行すると,コンソール画面が開き,何か表示されるはずn [ソリューション エクスプローラー]で[sample]が太字でない場合は,

右クリックして「スタートアッププロジェクトに設定」する必要がある

2020 H. SHIOZAWA http://vilab.org

11

Page 12: Operating Systemsvilab.org/os2020/OS2020-01.pdf · 授業の進め方 pOSの仕組みについて講義形式で説明する pその基本部分をプログラミング実習で確認する

演習課題p 課題 1a HOSの動作確認

n この課題の狙いは,Visual StudioとHOSの動作確認である。

p 手順n Visual StudioとHOSをダウンロードしてインストールする。n hos-v4¥sample¥win¥sample.sln を開いて実行してみる。n このプログラムは永久に動き続けるので,適当なところで終了する。

p 提出n Word文書に,科目名,日付,氏名等を記入し,出力結果(スクリーン

ショットまたはテキストコピー)を貼り付ける。n それをWordからPDF形式でエクスポートする。n できたPDFをオンラインで提出する(提出ページはBBに掲示)。

2020 H. SHIOZAWA http://vilab.org

12