1. オペレーティングシステムとは何か?

オペレーティングシステム【Operating System, 以下OSと略す】の役割を一言でいうと人間とコンピュータ、ソフトウェア、ハードウェアの間を仲立ちすることです。

OSは、ハードウェアとアプリケーション(応用)ソフトウェア間の通信を管理し、コンピューターリソース(CPU、メモリ、ストレージ、入出力デバイス等)の管理を行うシステムソフトウェアです。ユーザーがコンピュータと対話し、プログラムを実行するためのインターフェースも提供します。

以下は、オペレーティングシステムの主な機能です。

1. プロセス管理

OSはプログラムの実行(プロセス・タスク)を管理します。各プロセスが適切なCPU時間を得て、プロセス間でリソースが適切に共有されるようにします。

2. メモリ管理

OSは、プログラムの実行に必要なメモリを割り当て、利用後に解放します。各プロセスが自分のタスクを効率的に実行できるようにします。

3. デバイス管理

OSはコンピュータのハードウェアデバイス(キーボード、マウス、プリンタ、ディスプレイ等)を管理し、正常に動作するようにします。

4. ファイルシステム管理

OSは、ディスク上のデータへのアクセスを管理します。ファイルの作成、削除、読み書きなどの操作をサポートします。

5. セキュリティとアクセス制御

OSは、システムとデータへの不正なアクセスを防ぐためのセキュリティ機能を提供します。

6. ユーザインターフェース

ほとんどのOSは、ユーザがシステムと対話できるようにテキストベース【Character-based User Interface:CUI】またはグラフィカルなユーザインターフェース【Graphical User Interface:GUI】を提供します。

代表的なオペレーティングシステムには、MicrosoftのWindows、AppleのmacOS、Linux等があります。これらはパーソナルコンピュータでよく使われますが、スマートフォンやタブレット向けのOS(iOS、Androidなど)や組み込みシステム向けのOSもあります。

当社の研修では最もシェアの高いMicrosoftのWindowsを使用します。

新人エンジニア
ヒトとハード、ソフトを仲立ちするのがOSの役割

例題

基本情報処理技術者試験 平成20年秋期 午前問28 タスク管理の問題にチャレンジしてみましょう。

2.オペレーティングシステムの概要

Windows 10は、Microsoftが提供するパーソナルコンピュータ用のオペレーティングシステム(OS)です。使いやすさと拡張性を兼ね備えた設計で、個人ユーザーからビジネスユーザーまで幅広く利用されています。

以下に、Windows 10の主な特徴と基本的な操作をまとめます。

スタートメニュー

スタートメニューからは、アプリケーションの起動、システム設定のアクセス、電源オプションなどの設定が可能です。

タスクビューと仮想デスクトップ

タスクビュー機能を使うと、開いているすべてのウィンドウを一覧表示することができます。ショートカットキーは『[Windows]+[Tab]』キーを同時に押します。また、仮想デスクトップ機能を使うと、タスクを別々のデスクトップに分けて整理することができます。ノートPCなどディスプレイサイズが限られている場合に便利です。仮想デスクトップを追加するショートカットキーは、『[Windows] + [Ctrl]+ [d]』キーです。『[Windows] + [Ctrl]+ [→←]』キーで仮想デスクトップを移動することができます。

セキュリティ

Windowsセキュリティという組み込みのアンチウイルスソフトウェアが提供されており、ユーザーのデータとプライバシーを保護します。

設定

「設定」アプリからは、システム設定(ディスプレイ、バッテリー、ブルートゥースなど)やアプリケーションの設定、プライバシー設定などを調整することができます。

新人エンジニア
Windowsセキュリティ

3. プロセスとスレッド

プロセススレッドは、オペレーティングシステムがタスクを管理するための基本的な概念です。プロセスとスレッドの理解は、システムエンジニアがシステムの動作を理解しソフトウェアを開発する際にとても重要です。

プロセス

プロセスは、コンピューター上で実行中のプログラムのことです。各プロセスは独自のメモリ空間、データ、ステータス情報(プロセスID、優先度、オーナーなど)を持っています。

例えば、ウェブブラウザを開いたとき、新しいプロセスが作成され、そのプロセスはブラウザが必要とするリソース(CPU、メモリ、ディスクスペースなど)を確保します。

スレッド

スレッドは、プロセス内の実行単位で、プロセス内で同時に複数の処理を行うことを可能にします。各スレッドは、プロセスのメモリ空間とリソースを共有しながら、それぞれ独自のレジスタ(プログラムカウンタなど)とスタックを持ちます。【Thread】には糸という意味があります。糸のように細かく別れた処理の流れです。

例えば、ウェブブラウザでは、各タブや拡張機能は通常、個々のスレッドとして実行されます。例えば、一部のタブで問題が発生しても、他のタブは影響を受けずに動作を続けることができます。

プロセスとスレッドの比較

プロセスとスレッドの主な違いは、リソースの共有方法にあります。プロセスはそれぞれが独立した実行環境を持っていますが、スレッドは同じプロセス内の他のスレッドとリソース(メモリなど)を共有します。そのため、スレッド間でのデータのやり取りは比較的容易ですが、プロセス間でデータを共有するには特別なしくみが必要となります。

一方、同じプロセス内のスレッドがリソースを共有するため、一つのスレッドが問題を引き起こすと、全体のプロセスに影響を及ぼす可能性があります。それに対して、プロセスは互いに独立しているため、一つのプロセスがクラッシュしても、他のプロセスには影響しません。

例題

基本情報処理技術者試験 平成18年春期 午前問62 スレッドの問題にチャレンジしてみましょう。

新人エンジニア
タスクマネージャーからプロセスの一覧を見る

4. ファイルシステム

ファイルシステムは、オペレーティングシステムによって使用されるデータの格納とアクセスの仕組みです。データはファイルとディレクトリ(Windowsの場合は「フォルダ」と呼ばれる)の形でハードディスク、SSD、USBドライブなどのストレージデバイスに保存されます。

ファイルシステムは、ファイルの物理的な場所を抽象化し、ユーザーやアプリケーションがファイル名とパスを使用してファイルにアクセスできるようにします。データの検索、読み取り、書き込み、削除などの操作を行うことができます。

また、ファイルシステムはデータの整合性と信頼性を維持する役割も果たします。エラーの検出と修復、ファイルのパーミッション(権限)の管理、データの冗長性とバックアップの確保などの機能があります。

調べてみましょう

Windowsのドライブ文字はCから始まります。なぜ、Aからではないのでしょうか?講師に尋ねてみましょう。

例題

基本情報処理技術者試験 平成26年春期 午前問17 アーカイバの問題にチャレンジしてみましょう。

調べてみましょう

研修中にzip形式で圧縮したデータを扱うこともあるでしょう。アーカイバの使い方をここで講師と一緒に練習してみましょう。

4.1 Windows 10のエクスプローラ

Windows 10のエクスプローラ(正式名称は「ファイルエクスプローラ」)は、ユーザーがコンピュータ内のファイルやフォルダーを管理できるようにするためのアプリケーションです。ファイルの作成、コピー、移動、削除などの基本的な操作や、ファイルやフォルダーの検索、表示の切り替えなど、多様な操作をサポートしています。

以下は、Windows 10のファイルエクスプローラの基本的な使用方法です:

起動方法

スタートメニューから「ファイルエクスプローラ」を選択するか、タスクバーにあるフォルダのアイコンをクリックすることで起動できます。また、ショートカットキーは『[Windowsキー]+[E]』です。

左側のパネル(ナビゲーションペイン)

ファイルエクスプローラを開くと、左側にはコンピュータ内の各種ディレクトリへのショートカットが表示されます。ここから「デスクトップ」、「ダウンロード」、「ドキュメント」などの一般的なフォルダーや、接続されているドライブへ素早くアクセスすることができます。

中央のパネル(コンテンツペイン)

中央のパネルは、選択したフォルダー内のファイルやサブフォルダーを表示します。表示方法は「詳細」、「リスト」、「タイル」、「アイコン」のいずれかを選択できます。

ファイルやフォルダーの操作

ファイルやフォルダーを右クリックすると、コピー、ペースト、削除、名前の変更などの様々な操作を行うことができます。また、「Ctrl+C」でコピー、「Ctrl+V」でペースト、「Ctrl+X」で切り取り、「Ctrl+Z」で操作を取り消すなどのショートカットキーも利用できます。さらなるショートカットキーの知識は弊社でお配りしているチートシートをご覧ください。

検索

ファイルエクスプローラの右上にある検索ボックスを使用すると、開いているフォルダー内、またはコンピュータ全体でファイルやフォルダーを検索することができます。

リボンメニュー

ファイルエクスプローラの上部にあるリボンメニューには、コピー&ペースト、削除、新規フォルダの作成、表示の切り替えなどの操作を素早く行うためのボタンがあります。

上記の機能を使って、Windows 10でのファイル管理を効率的に行うことができます。

新人エンジニア
Windowsのエクスプローラ

4.2 コマンドプロンプト

Windowsのコマンドプロンプトは、Windowsシステムを操作するためのテキストベースのインターフェースです。基本的なファイル操作から高度なネットワーク診断まで、さまざまな操作が可能です。以下に、基本的な使い方をいくつか紹介します。

まずはコマンドプロンプトの開き方から始めましょう。スタートメニューの検索ボックスに「cmd」または「コマンドプロンプト」と入力し、表示された「コマンドプロンプト」をクリックします。(コマンドによっては管理者権限が必要となります。その場合は「コマンドプロンプト」を右クリックして「管理者として実行」を選びます)

ここから、いくつかの基本的なコマンドを見てみましょう。

  • dir: 現在のディレクトリの内容を一覧表示します。【DIRectory】
  • cd [ディレクトリ名]: ディレクトリを変更します。ディレクトリ名に具体的なパスを指定することでその場所に移動できます。例えば、cd Documentsと入力すると、Documentsフォルダに移動します。【Change Directory】
  • cls: コマンドプロンプトの画面をクリアします。【CLear Screen】
  • copy [元のファイル名] [新しいファイル名]: ファイルをコピーします。
  • del [ファイル名]: ファイルを削除します。【DELete】

また、ネットワークに関する操作も可能です。

  • ipconfig: ネットワーク設定情報を表示します。IPアドレスやサブネットマスクなどの情報を知ることができます。
  • ping [ホスト名またはIPアドレス]: 指定したホストへの接続をテストします。パケットがホストに到達しているかどうかを確認するのに役立ちます。

上記は基本的なコマンドの一部にすぎません。Windowsのコマンドプロンプトは非常に強力で、新人エンジニアのみなさんが学ぶべきコマンドは多数あります。

新人エンジニア
コマンドプロンプト

パスの指定

コマンドプロンプトでは、パス【path】を指定することで特定のディレクトリやファイルに対して操作を行うことができます。パスは、コンピューター上のファイルシステムの構造を表現するために使用されます。

パスには、絶対パス相対パスの2つのタイプのパスが存在します。

絶対パスは、ルートディレクトリ【root directory】から特定のファイルやディレクトリに至るまでの完全なパスを示します。Windowsでは、絶対パスはドライブ文字(例えば C:)で始まります。「C:\Users\Username\Documents\myfile.txt 」というパスは、Cドライブの Users ディレクトリの中の Username ディレクトリ、さらにその中の Documents ディレクトリにある myfile.txt を指します。

相対パスは、現在のディレクトリ(作業しているディレクトリ)に対するパスを示します。「.」 は現在のディレクトリを、「..」 は一つ上のディレクトリ(親ディレクトリ)を表します。例えば、現在のディレクトリが 「C:\Users\Username\Documents 」で、このディレクトリ内の myfile.txt を指すためには、相対パスとして 「myfile.txt」または、「./myfile.txt」 を使うことができます。

コマンドプロンプトでのパスの指定は、cd【Change Directory】コマンドを使用して行います。たとえば、「C:\Users\Username\Documents」 ディレクトリに移動するには、以下のようにします。

cd C:\Users\Username\Documents

上記コマンドを実行後、現在の作業ディレクトリは「C:\Users\Username\Documents 」 に変更されます。

注意すべき点として、Windows のコマンドプロンプトでは、パスの区切り文字としてバックスラッシュ(\)が使用されます。これは UNIX ベースのシステム(Linux や macOS)のスラッシュ(/)とは異なります。

例題

基本情報処理技術者試験 平成30年春期 午前問17 ファイルシステムの絶対パス名の問題にチャレンジしてみましょう。

基本情報処理技術者試験 平成21年秋期 午前問19 カレントディレクトリの問題にチャレンジしてみましょう。

次回は、「ソフトウェアの仕組みを知りトラブルに強くなる」を学びます。

オペレーティングシステムの理解 最後までお読みいただきありがとうございます。