Sistemas-Operacionais(ミニOSシミュレータ)

Other

概要

このリポジトリは、ブラジルのUNDB大学の「Sistemas Operacionais」授業向けの課題として作成された、Pythonによるミニオペレーティングシステム(シミュレータ)プロジェクトです。プロセス管理やファイル操作、コマンドラインインターフェース(CLI)を通したユーザー操作を通じて、OSの基礎概念を体験的に学べることを目的としています。コア機能として優先度に基づくプロセススケジューラ、プロセスの生成・一覧・終了、ファイルの作成・管理機能が実装され、主要な操作はlog.txtに記録されます。ソースはシンプルで教育用途に最適化されており、拡張や実験がしやすい構成です。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 3
  • ファイル数: 3
  • メインの言語: Python

主な特徴

  • 優先度ベースのプロセススケジューラを実装(教育目的の簡易スケジューラ)
  • CLIによるプロセス操作(作成・一覧・終了)とファイル操作のサポート
  • 操作ログをlog.txtに記録して履歴の確認が可能
  • シンプルなコード構成で拡張や学習に適した実装

技術的なポイント

本プロジェクトはフル機能のOSではなく、OSの重要概念を模擬する教育用シミュレータです。中心となるのは「プロセス管理」と「ファイル管理」の2つのコンポーネントで、これらは単一のPythonスクリプト(arquivo.py)内に整理されていると想定されます。プロセスはIDや状態、優先度などのメタデータで表現され、優先度に基づくスケジューリングによって次に実行すべきプロセスを選択する仕組みを持ちます。優先度スケジューラはプリエンプティブ(強制割り込み)型か協調型かは明示されていませんが、教育的観点からは優先度により実行順を決定する非並列なシミュレーション方式が採られている可能性が高いです。

ファイル管理機能は、実ファイルシステムを直接操作するのではなく、シンプルな抽象化を通じてファイルの作成・読み書き・一覧といった操作を模擬していることが README から読み取れます。操作の永続化と監査のため、主要なイベント(プロセス生成・終了、ファイル作成など)は log.txt に追記され、実行履歴を誰でも確認できる形になっています。CLI はユーザーからのコマンド入力をパースして適切な操作を呼び出す単純なループで実装されている想定で、教育用としてユーザーが直接操作しながら概念を学べる設計です。

実装上の注目点としては、学習用途に合わせて「明示的な状態遷移」、「優先度扱いの可視化」、「ログによる操作のトレーサビリティ」が挙げられます。一方で、本格的なOS機能(並行実行・プロセス間通信・メモリ管理・デバイスドライバ等)は対象外であり、スレッドや並列制御を用いた実行実装がない限りは実行は単一プロセス内のシミュレーションに留まります。拡張案としては、プリエンプティブスケジューリングの追加、擬似的なメモリ割当てとページング、プロセス間通信(メッセージキューやパイプ)の導入、テストスイートやドキュメント強化などが考えられます。教育用プロジェクトとしては、これらを段階的に実装していくことでOSの各コンポーネント理解を深められる構造になっています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • arquivo.py: file
  • log.txt: file

まとめ

教育用途に最適な、優先度スケジューラとファイル操作を備えたミニOSシミュレータです。

リポジトリ情報:

READMEの抜粋:

Projeto Mini Sistema Operacional em Python

Disciplina: Sistemas Operacionais – UNDB
Data: 09/10/2025

Resumo

Este projeto simula um mini sistema operacional em Python, aplicando conceitos como gerenciamento de processos, manipulação de arquivos e interação via linha de comando (CLI). O sistema inclui um escalonador de processos por prioridade e funções básicas para criar, listar e finalizar processos, além de criar e gerenciar arquivos. As operações principais são registradas em …