タイトル「2021年度 教育学部シラバス」、フォルダ「2021年度 教育学部シラバス-情報教育(E類)
シラバスの詳細は以下となります。
ナンバリングは科目コードとは異なります。ご注意ください。
ナンバリングとは
科目コード   60772500 
科目名   オペレーティングシステム  
担当教員   早川 栄一  
対象学年   2年   クラス   51  
講義室   S205    開講学期   秋学期  
曜日・時限   金1   単位区分   選択  
授業形態   講義・演習   単位数  
受講対象  教育支援課程 教育支援専攻情報教育コース選択科目A 
備考   
ナンバリング   132E54 
ねらいと目標 WindowsやOSX(MacのOS)、Linux、iOS、Androidなどの名前は聞いたことがあると思います。これらは、オペレーティングシステム(以下OS)と呼ばれるソフトウェアで、コンピュータが持っている機能を効率よく管理し、ユーザが使いやすい形で扱えるようにする、重要なソフトウェアです。OSの機能によってコンピュータの使い勝手は大きく変わってきます。このOSで重要となる、仮想化、抽象化について、その概念と実現方法を理解することを目的とします。  
内容 この授業で単位を取得した学生は、コンピュータの中でOSがどのような役割を果たしているか、またその役割を果たすためにどのように動作するか、トラブルに対してどこに問題があるのかを理解することができるようになります。また、実用的なOSの操作についても重要視し、実際にソフトウェアシステムにおけるOSの操作および、問題の解決スキルの向上についても、適宜演習を通して行います。  
テキスト オンラインのフリーテキストを用います。テキストは購入しなくてよいです。テキストを読んで答える小問を適宜出しますので、下記URLについてはアクセスできることを確認しておいてください。
http://pages.cs.wisc.edu/~remzi/OSTEP/ Operating Systems: Three Easy Pieces (英語です)
https://github.com/syarochan/Operating-Systems-Three-Easy-Pieces-in-japanese 有志による邦訳  
参考文献 オペレーティングシステム入門(並木美太郎)(サイエンス社)  
成績評価方法 成績は、授業中およびオンラインによる小テスト(出席)(40%)、およびオンライン試験(40%)、レポート(20%)の合計で行います。  
授業スケジュール(展開計画) この授業で単位を取得した学生は、コンピュータの中でOSがどのような役割を果たしているか、またその役割を果たすためにどのように動作するか、トラブルに対してどこに問題があるのかを理解することができるようになります。また、今年度からOSの実用性についても重要視し、実際にソフトウェアシステムにおけるOSの動作および、問題の解決スキルの向上についても、演習を通して行います。
内容
1ガイダンス、OS概説
  ガイダンスです。資源管理と仮想化のコンセプト、OSの概説、OSの歴史、成績評価および取得の方法について説明を行います。ここで履修するかどうかを決めてください。
2OSの役割
  実際のマシンを例にとってOSがどのようなことをしているのかを実際に確かめてもらいます。
3ファイルとOS
    printfやscanfがどのように作られているのか、簡単なファイル入出力について学びます。特に、OSの中で最もよく使われるファイル入出力を題材として、OSが提供する仮想化のモデルとそのパワフルさについて実感してもらいます。
4タスク管理(1)
  コンピュータを便利な形に仮想化したプロセスについて学びます。CPUを仮想化したモデルであるプロセスについて、その成立ちと実現方法について学びます。プロセスは本物のプロセッサよりも数が多いので、多くのプロセスを少ないプロセッサに割り当てる方法であるプロセススケジューリングについても学びます。
5タスク管理(2)
  人が一人では生きていけないように、プロセスも複数のプロセスが協調することで、より多くの処理ができるようになります。この方法であるプロセス間通信について学びます。複数のプロセスを制御するための同期方法として、セマフォ、モニタ、Javaでの同期プリミティブについて学びます。
6PCを用いた演習
  プロセスの生成、制御について、実際にPCとシェル、スクリプト言語およびJava言語などを用いて実際に操作をして、その手法を学びます。
7メモリ管理(1)
  計算機のもう一つの大事な要素はメモリです。メモリはほしい量よりも少ない事が多いので、メモリを効率よくプログラムに割り当てる方法が必要になります。そのためのフィッティングアルゴリズムや、管理方法について学びます。実際の物理メモリ以上のサイズのメモリを利用する方法として、仮想記憶の方法についてページングの方法や、ページングアルゴリズムについて学びます
8メモリ管理(2)
メモリ管理とプロセス管理との関係について学びます。OSの各部分が協調して動作していることが分かるとおもます。プロセスとメモリの割当て、スレッド、フラグメンテーション、セグメンテーションなどについて学びます。
9 PCを用いた演習
メモリアクセスするプログラムを実行して、OSにおけるメモリ管理とOSからの制御について学ぶ。
10ファイルシステム(1)
第3回で学習したファイルが、OSの中でどのように実装されているのかを学びます。特に、データ格納機能であるファイルシステムについて、その構造を、代表的な例であるFATやinodeを事例として学びます。
11ファイルシステム(2)
近年のシステムでとても大事なのは、セキュリティです(雑誌や新聞、ネットでもよく話題になります)。重要となる信頼性やセキュリティについてOSの視点から学びます。特に、UNIXのファイル保護モデルやOSからみたセキュリティの問題点などについて学んでいきます。
12PCでの演習
メモリやファイルシステムへのアクセスについて、実例に基づいた演習を行います。メモリ管理が動作に与える影響や、ファイルシステムでの属性変更の方法などについて学びます。
13デバイス管理
コンピュータには入出力が不可欠なように、OSでもデバイス管理手法やデバイスドライバの構成という大事な部分について学びます。また,デバイスに関連してOSのインストールや起動についても合わせて学びます。
14OSの実例
WindowsおよびLinuxを対象として、これまでに学習してきた管理手法を元に、これらのOSがなぜそのような構成となっているのかを学んでいきます。 合わせて学びます。
15OSと応用、まとめ
講義のまとめと理解度の確認を行います。
授業時間外における学習方法 事前に講義の内容について、テキストを読むことを予習とする。この内容については講義内の小テストで理解度を試します。また、復習についてはレポートおよびオンラインでの小テストによって確認していきます。  
授業のキーワード オペレーティングシステム システムプログラミング 仮想化 プロセス 仮想記憶 ファイルシステム  
受講補足(履修制限等) 簡単なC言語のプログラミングを理解して、プログラム作成や実行ができることが望ましい。Windows or Mac上にC言語を作成して実行できる環境がパソコン上にセットしてあること(同時に利用できなくても問題ない)。  
学生へのメッセージ コンピュータシステムの重要な役割の一つの仮想化の実例として、ハードウェアをどのように使いやすい形でユーザへ提供するかを学びます。日常意識しないで使っているオペレーティングシステムの中身がどうなっているかをぜひ理解してください。  
実務経験のある教員による科目  
授業実施方法(対面形式/遠隔形式) 授業は基本的にMicrosoft Teamsを利用したライブ配信で行います。ライブ配信のときに出席をとります。また、挙手およびチャットを使って質問を随時受け付けますので、積極的にコミュニケーションをとってください。ライブ配信のチームのURLやチームコードなどについては、WebClassを通して連絡します。  
その他  
Copyright(C) 2013 NTT DATA KYUSHU Co.,Ltd All rights reserved.