课程简介
《操作系统原理》是针对计算机科学技术专业五年级大专生开办的一门专业基础课程。本课程注重中学生系统观的培养,通过重点述说操作系统的内部结构、工作原理及典型技术的实现linux操作系统原理,使中学生构建起对操作系统的整体及各个功能模块的认识,进而系统把握计算机的专业知识,进一步提高学生的软件开发能力乃至系统软件开发能力。
课程大纲
第1章操作系统概述
主要内容:举例介绍操作系统所做的工作;操作系统的定义与特点;操作系统分类;操作系统发展中的典型技术;典型操作系统的结构。
第2章操作系统运行环境
主要内容:特权指令/非特权指令、CPU状态;中断系统的作用;中断硬件工作原理;中断处理程序流程;中断处理程序举例;中断系统举例;系统调用基本概念;系统调用实现机制;系统调用实现实例。
主要内容:进程基本概念;进程状态及状态转换;进程控制块的作用和内容;进程控制操作;进程地址空间与进程映像;为何引入线程?线程的应用场景;Web服务器的实现;线程概念、线程与进程的区别;线程实现的三种形式;Pthreads线程库及应用;几个重要的概念:主词、可再入程序。
第4章处理器调度
主要内容:调度层次与调度类型;调度时机与进程切换;调度算法设计原则;调度算法设计时考虑的各类诱因;基本调度算法;多级队列反馈调度算法;调度算法应用;Linux调度算法的演进;Windows调度算法简介。
第5、6章同步机制
主要内容:进程/线程的并发执行;竞争条件的引入;进程互斥与进程同步的概念;进程互斥的软件解法;Peterson算法;进程互斥的硬件解法;睡眠与唤起机制;讯号量及PV操作;用讯号量解决互斥问题举例;用讯号量解决生产者消费者问题;用讯号量解决读者写者问题;讯号量的问题及管程的引入;管程的基本概念;Hoare管程;管程应用举例;Mesa管程;JAVA管程解决生产者消费者问题。
第7、8章储存模型
主要内容:基本概念介绍;化学显存管理方案之可变分区管理方案;化学显存管理方案之页式管理方案;虚拟储存管理基本思想;页表设计;地址转换过程;TLB引入;缺页异常处理;页面置换算法及应用;工作集模型;消除策略与页缓冲技术。
第9、10章文件系统
主要内容:文件系统的功能;文件分类;文件的逻辑结构和化学结构;文件控制块的内容和作用;文件目录与目录文件;文件系统的布局;文件的基本操作;文件系统的显存结构;c盘空间管理;FAT16/32文件系统;UNIX文件系统;文件共享与保护机制;文件系统一致性;文件系统性能。
第11章I/O系统
主要内容:设备管理的目标和任务;I/O设备分类;I/O设备组成;I/O端口地址;I/O控制方法;I/O软件层次;设备分配算法;设备驱动程序;缓冲技术;I/O性能问题。
第12章死锁
主要内容:死锁的基本概念;形成死锁的缘由;死锁举例;用资源分配图讨论死锁问题;死锁防治方式;死锁防止方式;交行家算法;交行家算法的应用;死锁检查方式;死锁解除方式;哲学家用餐问题。
课程说明
课程目标
1.把握操作系统的基本概念、功能组成、系统结构及运行环境;
2.熟悉并运用操作系统工作原理、设计方式和实现技术,理解有代表性、典型的操作系统实例(如UNIX、Linux和Windows);
3.了解操作系统的演变过程、发展研究动向、新技术以及新思想,为后续相关课程的学习打下良好基础,为后续职业发展奠定基石。
本课程共12章。
讲课方式
1.本课程由一系列教学视频组成linux操作系统原理,每周的学习内容大概由6-10段视频组成,每段视频的宽度约8-12分钟。
2.每周布置课后作业。
3.鼓励学习者在课程峰会上提出问题,并相互帮助,回答问题。教学团队会一直关注课程峰会的讨论,有选择性的回答疑难问题。
常见问题
1.这门课程须要编撰代码吗?
在学习进程线程同步机制时linux定时器,须要看懂用C、JAVA等编撰的程序。在用讯号量及P、V操作解决进程线程同步问题时,须要用伪码编撰简单程序。
2.这门课程须要了解计算机硬件系统吗?
一般在课上会讲解涉及到的相关内容。假如熟悉计算机硬件系统,会有利于对本课程的理解。
参考资料
教材
《现代操作系统》(原书第3版),(荷)AndrewsS.Tanenbaum著,陈向群、马洪兵等译,机械工业出版社,2012年7月。
参考书目
《操作系统—精髓与设计原理》(原书第7版)linux开源软件,(美)WilliamStallings著,陈向群、陈渝译,电子工业出版社,2012年9月。
《操作系统概念》(原书第6版),(美)AbrahanSilberschatz、PeterBaerGalvin、GregGagne著,郑扣根译,高等教育出版社,2010年1月。
《深入理解计算机系统》(原书第2版),(美)RandalE.Bryant、DavidR.O’Hallaron著,龚奕利、雷迎春译,机械工业出版社,2011年1月。
拓展阅读
其他