Skip to content
/ Easy_OS Public

根据汤小凤老师的操作系统第四版教材,实现的一个简单的操作系统。 | A simple operating system is realized according to the fourth edition of the operating system textbook of Mr. Tang Xiaofeng.

License

Notifications You must be signed in to change notification settings

Ckxkx/Easy_OS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy_OS 操作系统 README | English

一、操作系统概述

Easy_OS 是一款简易的操作系统,融合了基本进程管理、设备管理与基本 I/O、文件系统设计以及命令行接口等核心功能模块,旨在为用户提供一个基础但全面的操作系统模拟体验,助力用户深入理解操作系统的运行机制与各类功能交互逻辑。

二、功能模块详情

(一)基本进程管理

  • 作业调度算法丰富:涵盖先来先服务(FCFS)、最短作业优先(SJF)和优先级调度算法。用户输入作业数量、名称、提交时间、所需运行时间及优先级后,系统依选定算法高效分配 CPU 时间片、精准计算周转时间与带权周转时间,并完整展示作业执行流程与状态变化,助用户洞察不同调度策略对作业处理效率及资源分配均衡性的影响,为深入理解进程调度核心原理筑牢根基。
  • 模拟场景真实可感:凭借精细的时间模拟与状态追踪机制,生动复现作业在系统内的完整生命周期,从提交、就绪、运行至完成各阶段清晰呈现,使用户仿若置身真实操作系统环境,深度体悟进程状态变迁与调度决策动态交互过程,强化对进程管理复杂逻辑脉络的把握。

(二)设备管理与基本 I/O

  • 鼠标设备操控自如:完备的鼠标设备管理功能集,从初始化、开启、关闭操作到精准模拟移动事件处理一应俱全。初始化时系统为鼠标设备分配内存空间并初始化各参数,开启后可接收并高效处理移动指令,关闭时妥善释放资源、重置状态,为用户构建直观设备管理实践场景,深化对设备驱动与控制原理的领悟。
  • SPOOLING 系统高效运转:以任务队列驱动数据传输流程,严格模拟任务排队、传输及中断处理逻辑。任务入队后依序传输数据,遇传输错误(10% 概率模拟)即刻触发中断处理流程,完成重传后释放任务资源。此过程深度揭示 I/O 设备管理与任务调度协同机制,提升用户对设备并发处理与数据可靠性保障策略的认知层次。

(三)文件系统设计

  • 目录遍历清晰直观listDirectory 函数依输入路径精准遍历文件系统目录结构,递归式检索各级子目录,将目录内文件与子目录全路径有序输出,为用户提供文件层级分布全景视野,深度优化文件导航与资源定位体验。
  • 文件读取精准无误readFile 函数运用稳健文件流处理机制,精准定位并读取用户指定文件内容,逐行解析输出至控制台,同时具备强大错误处理能力,对文件不存在、权限不足等异常精准捕获反馈,确保文件读取操作安全、可靠、零差错,筑牢文件数据访问操作坚实防线。

(四)命令行接口

  • 命令简约而不简单:支持 lscat 核心命令。ls 用于展示指定目录内容,格式规范、信息完备,涵盖文件名称、类型、权限、大小及修改时间等核心元数据(可按需扩展),助力用户快速掌握目录文件概貌;cat 精准读取并输出文件文本内容至终端,支持多种文本编码格式自适应处理,是文本文件查看与内容检索得力助手。
  • 交互体验流畅顺滑:智能命令解析与循环交互架构无缝协作,用户输入命令即时响应,错误指令精准提示修正建议,执行完毕自动回归等待输入状态,形成高效流畅命令交互闭环,极大提升用户操作效率与体验舒适度。

三、系统运行指南

(一)环境搭建

  • 编译器适配广泛:本系统以标准 C++ 编写,经主流 C++ 编译器(如 GCC、Clang 等)严格测试,确保跨平台兼容性与稳定性。用户仅需安装适配版本编译器,依常规命令行或集成开发环境编译流程操作即可。
  • 依赖库轻量易配:依赖 std::experimental::filesystem 库实现高级文件系统操作,多数现代 C++ 标准库已集成该功能,若遇兼容问题,依编译器官方文档引入对应头文件与库文件链接指令即可轻松化解。

(二)使用步骤

  1. 启动抉择:运行程序后,依提示输入 y 迈入操作系统主界面,开启功能探索之旅;输入 n 则优雅退出程序,操作简洁明了。
  2. 主界面导航:主界面呈现清晰功能菜单,数字键对应各功能模块入口。用户按需输入对应数字,如 1 激活基本进程管理模块,系统随即引导至相应功能流程,全程贴心指引、交互友好。
  3. 功能操作指引
    • 基本进程管理:依屏幕提示依次输入作业关键参数,选定调度算法后系统自动模拟执行,详尽结果与统计信息实时展示,一目了然。
    • 设备管理与基本 I/O:鼠标设备管理环节紧密跟随系统引导,输入操作指令即可实时操控;SPOOLING 系统自动处理任务队列,用户专注观察任务流转与传输状态监控即可深度领略设备管理与数据传输精妙。
    • 文件系统设计:文件操作功能中,依提示精准输入目录或文件路径,系统迅速响应处理,文件系统结构与内容即刻呈现眼前,操作便捷高效。
    • 命令行接口:命令行交互中,输入合法命令(lscat)及对应路径参数,系统即刻反馈精准结果;输入 exit 无缝返回主界面,交互体验行云流水、自然流畅。

四、贡献与反馈

  • 开源共创邀请:Easy_OS 秉持开源精神,热忱欢迎开发者投身代码贡献。无论优化算法效率、拓展功能边界、修复潜在漏洞或强化文档完备性,任何贡献皆为推动系统进化关键力量,携手共建开源生态典范。
  • 反馈沟通桥梁:用户反馈是系统提升核心动力。若遇问题或怀抱建议,可于 GitHub 项目 Issue 区畅所欲言,详述问题复现步骤与预期表现,团队将全力响应、精准定位、极速修复,持续优化系统品质与用户体验。

About

根据汤小凤老师的操作系统第四版教材,实现的一个简单的操作系统。 | A simple operating system is realized according to the fourth edition of the operating system textbook of Mr. Tang Xiaofeng.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages