コンピュータの基本ソフトウェアであるオペレーティング・システム (OS) について取り扱います。 OS はそのコンピュータ上で動いているすべてのプロ グラム (あるいはプロセス) の制御を行っています。 また、 それぞれのプロ グラムに対してファイル・システムやネットワークなどのサービスを提供して います。 OS には Windows や MacOS など様々なものがありますが、ここでは UNIX / Linux OS を中心に取り上げ、その基本的概念、プロセス、 システム コール、メモリ管理と仮想メモリ、ファイル・システム、ネットワーク、セキュ リティなどの各種のコンポーネントについて説明します。 また、 OS は本質的 に並行プログラミングですので、複数のプログラムの間での同期や排他制御に ついても取り上げます。授業後半には個人による並行のプログラムを行い作品 の提出を行う。
The basic software of a computer is called its operating system (OS). The operating system loads other programs (or processes). Programs use the file system, network, and other services provided by the OS. There are many operating systems, including Windows and MacOS, but in this class we will focus on Unix and Linux. The basic concepts of processes, system calls, memory management and virtual memory, file systems, networking, security and other subsystems will be presented. Because concurrency and parallelism are fundamental, and are becoming increasingly important at the application level, students will write at least one concurrent program.
The lectures for this class will be in Japanese, but non-Japanese-speaking students are encouraged to join. Adequate materials to learn the topic and complete the assignments will be available in English.