Skip to content
字数
2133 字
阅读时间
9 分钟

第一章:操作系统课程导论 🚀

欢迎来到《操作系统》的世界!本章将作为我们整个学习旅程的起点,旨在为您清晰地描绘出本课程的知识蓝图、学习路径、考核要求以及成功学习本课程的关键要素。


1.1 欢迎与教师介绍 👋

  • 【了解】
  • 主讲教师:梁洪亮 副教授
    • 博士生导师、硕士生导师
    • 联系方式hliang@bupt.edu.cn (欢迎通过邮件交流)
    • 研究方向:领导可信软件与智能系统实验室 (TSIS Lab)
    • 个人主页与代码仓库
      • Gitee 主页
      • Github 主页

1.2 课程信息与安排 📚

  • 【重点】 在本部分,我们将明确学习本课程前你需要具备的知识基础,以及课程的学习方式与考核标准。请务必仔细阅读,这关系到你的学习规划与最终成绩。
1.2.1 先修知识要求
  • 【重点】 操作系统是一门承上启下的核心课程,它依赖于一些计算机科学的基础知识。为确保学习效果,请确认你已掌握以下先修课程:
    • C 编程语言:这是进行操作系统实验、理解底层实现的基础工具。
    • 数据结构:操作系统内部充满了各种复杂的数据结构(如进程控制块、页表),扎实的数据结构知识至关重要。
    • 计算机组成原理:理解硬件与软件的接口是学习操作系统的核心,你需要了解 CPU、内存、I/O 设备是如何工作的。
1.2.2 课程资源
  • 【了解】
    • 讲义和作业发布:所有课程相关的讲义、作业要求及通知,都将通过教学云平台发布。请大家务必及时关注平台动态。
1.2.3 考核方式
  • 【核心考点】 本课程的总成绩将由以下三个部分构成,请大家务必重视每一个环节:

    总成绩 = 40% 实验 (编程) + 10% 期中考试 + 50% 期末考试

    重要说明

    1. 实验环节:实验是本课程的重中之重,旨在通过动手实践加深对理论知识的理解。所有实验的截止日期/时间以教学云平台为准。
    2. 截止日期

      请务必合理安排时间,按时完成并提交。


1.3 教材与参考书目 📖

  • 【了解】 选择合适的教材与参考书是学好本课程的基石。以下是本课程推荐的书籍资源。
1.3.1 指定教科书
  1. Operating System Concepts, Ninth Edition, Avi Silberschatz et al., John Wiley & Sons, 2012. (经典恐龙书)
  2. 操作系统设计与实现, 梁洪亮、李文生、徐梦炜编著, 人民邮电出版社, 2024.
1.3.2 推荐参考书
  1. (OSTEP) Operating Systems: Three Easy Pieces. (一本以风趣幽默著称的优秀操作系统入门书籍,强烈推荐)
  2. (CSAPP) Computer Systems: A Programmer's Perspective. (神书,能帮助你从程序员的视角更深刻地理解整个计算机系统)

1.4 课程内容总览 🗺️

  • 【重点】 本课程将系统性地介绍操作系统的核心概念与关键技术,主要分为以下几个模块:

  • 第一部分:导论 (Introduction)

    • CH.1 概述:介绍操作系统的定义、功能、发展历史以及基本特征。
  • 第二部分:进程/线程管理 (Process/Thread Management)

    • CH.2 进程/线程及调度:探讨进程与线程的概念、状态转换、以及 CPU 调度算法。
    • CH.3 同步 (Synchronization):解决多进程/线程并发执行时的数据一致性问题,如互斥、信号量、管程等。
    • CH.4 死锁 (Deadlock):分析死锁产生的原因、条件,并学习如何预防、避免和检测死锁。
  • 第三部分:内存管理 (Memory Management)

    • CH.5 物理内存:讲解内存的连续分配、分页、分段等物理内存管理技术。
    • CH.6 虚拟存储 (Virtual Memory):深入学习请求分页、页面置换算法等虚拟内存核心技术,这是现代操作系统的基石。
  • 第四部分:文件系统和输入/输出 (File System and I/O)

    • CH.7 文件系统:介绍文件的概念、目录结构、文件系统的实现以及磁盘空间管理。
    • CH.8 输入/输出系统:讲解 I/O 系统的原理、设备驱动以及中断处理。
  • 第五部分:系统保护与安全 (System Protection and Security) (可选)

    • CH.9 系统安全接口
    • CH.10 系统内部保护机制

1.5 为什么要学习操作系统?🤔

  • 【重点】 操作系统是计算机科学的灵魂。学习它不仅仅是为了通过一门考试,更是为了:
    • 成为掌控者:学习如何构建、修改或管理一个操作系统,而不仅仅是它的使用者。
    • 洞察设计智慧:深入了解关键的设计决策(如进程调度、内存管理策略),理解其背后的权衡与哲学。
    • 优化系统性能:学会分析和了解系统性能瓶颈,写出更高效、更健壮的程序。
    • 驾驭复杂系统:操作系统是人类创造的最复杂的软件系统之一。掌握它,你将能更好地理解和设计其他复杂系统
    • 提升编程内功:学习操作系统将让你成为更好的(系统)程序员,无论是应用层还是底层开发,你都将受益匪浅。
    • 深造基石:对于有志于读研深造的同学,操作系统是必考的核心课程

1.6 学习成功的关键 🚀

  • 【重点】 理论学习固然重要,但对于操作系统这门实践性极强的学科,成功的关键在于以下几点:

    实践出真知

    • 10000 小时定律:精通任何一门复杂的技能都需要大量的练习。投入足够的时间是学好操作系统的先决条件。
    • 100000 行代码:编程能力是在代码的海洋中磨练出来的。不要畏惧写代码,通过大量的编程实验,你才能真正将理论内化为自己的能力。

1.7 学术诚信要求 ⚖️

  • 【核心考点】 学术诚信是所有学习和研究的底线。在本课程中,请严格遵守以下规定:

    禁止任何形式的作弊行为

  • 代码共享

    • 严禁拥有他人程序的副本,也严禁将自己的程序以任何形式提供给他人。
  • 合作与讨论

    • 允许就作业思路进行讨论,但必须独立完成并编写自己的代码。
    • 允许帮助他人解释编译器报出的错误信息,这属于良性合作。
  • 思想借鉴

    • 如果你从他人(同学、网络资源等)那里获得了解决问题的重要想法或思路必须在你的作业中明确注明,这是基本的学术规范。
  • 违规后果

贡献者

页面历史