APP下载
反馈
操作系统及Linux内核
本课程共9集 翻译完 欢迎学习

课程介绍:1.为什么要学习这门课? 我们处于并发处理的时代,进程,线程,协程等编程,逐渐成为基本技能,其中涉及资源的竞争和共享,死锁等问题,都是OS课程所要讲述的;OS对软硬件的资源管理是它的主要功能,通过对资源管理的学习,可以使大家能够在许多其他场合重用这一模式;当系统或者程序出现性能问题,或者当系统出现冲突时,要深入到系统看看如何进行处理,这样,对操作系统原理的掌握就显得弥足珍贵。 设计任何的工程系统,包括软件系统,都是一个权衡的过程。是要侧重于可靠性?性能?消耗还是维护性?因为操作系统是很庞大的、性能至关重要的程序,一般都要维护几十年,所以操作系统是大家学习这类权衡的很好的地方。拥有一双发现合适设计点的锐利眼睛的学生在工业上是很需要的。这些人更像一个艺术家而不是一个科学家,你需要看大量的代码,理解这些问题,和学会自己独立考虑这些问题。2.这门课的主题是关于什么? 本课程以操作系统的资源管理为主题,涉及进程管理,内存管理,文件管理,设备管理,操作系统接口五大子系统,贯彻机制与策略分离的设计理念,这一理念是计算机科学的基本设计理念,那么什么是机制,什么是策略,机制就是提供什么样的功能,策略就是如何使用或者实现这个功能,比如高考就是一种机制,而你去按高考的规则,参加考试就是一种策略,比如文件系统提供的read()就是一种机制,而你调用read()函数从磁盘读取数据就是一种策略,如此等等。那么,操作系统课程讲授的是机制还是策略呢?以讲机制为主,大家能把这些机制应用起来,就会有较大的收获,如果你能设计出一种机制,那就是较大的创新了。3.学习这门课可以获得什么?特别是对自己有什么帮助和应用。1)有助于编写并发程序 不管你在学习Java,Python,还是C++,尤其是go语言,线程的并发控制是难点,而语言本身对并发的讲解限于具体函数的介绍,而并不能深入到原理,其根本的一些概念,比如临界区,临界资源,同步和互斥等实际上是在操作系统这里要学通透的,但求本,不愁末。 2)有助于培养系统性思维 操作系统从资源管理的角度来对计算机的软硬件资源进行管理,软硬件协同和管理是操作系统的设计的主战场,因此必须有系统性的思维,对软硬件都有较为深入的认识,比如CPU管理(也就是进程管理),内存管理都是要在对相关硬件深入了解的基础上,应用系统软件的整体性思维进行设计,使得软硬件真正的协同起来,这是一个非常复杂的系统工程。3)有助于培养系统性能分析的能力 目前计算机的应用领域非常广泛,人工智能,区块链,云计算以及大数据,底层都是操作系统的支持,尤其大都是开源的操作系统Linux。在实际应用中,会发现有很多性能问题有待解决,而且这些问题的解决,最终都会追溯到操作系统层面,因此,操作系统知识和技能的掌握是系统性能优化的基石。4.这门课有什么特色和亮点?1)打破操作系统应试教学的死记硬背局面,激发学生学习操作系统的主动性和热情。 本课程从一开始就强调要打破应试教育,并从每一次作业的创新性设计着手,作业的完成是一环套一环,没有现成的答案,通过大作业的训练,让概念落地有声。2)通过以点带面,提升学生综合应用知识分析和解决问题的能力。 操作系统的知识点比较零散,如何把这些知识点穿起来,课程在各个实验环节进行了缜密的设计,具体实验参考实验楼操作系统实验,后续实验都是对前一次的迭代,在不断加强中,把前面的知识综合应用起来,使得学生逐渐具备了解决复杂问题的能力。 3) 提高了学生积极主动解决问题的能力,创新意识增强。 在作业和实验的设计上,都给学生留有一定的空间,比如,每次作业每个人必须自己提2个问题,挑战性实验有一定的陡度,必须查阅大量资料才能完成。学生的创新意识得到加强。4)提升了团队合作和沟通能力。 很多作业和实验都是以小组为单位完成并互相批改作业,每个组都起有自己的名字和口号,组名和口号将伴随本组一学期。每个人在组中都有明确的角色和责任,这使得学生在学习过程中感受企业文化和担当。

立即播放
用手机看
课程免费缓存,随时观看~
扫码下载网易公开课APP
收藏
课程列表
【第1集】1.1 课程概述
【第2集】1.2 操作系统定义、功能及特征
【第3集】1.3 操作系统的发展(上)
【第4集】1.3 操作系统的发展(下)
【第5集】1.4 操作系统结构
【第6集】1.5 操作系统的运行环境
【第7集】1.6 Linux内核及可加载内核模块编程
【第8集】1.7 动手实践-内核模块的插入删除(上)
【第9集】1.7 动手实践-内核模块的插入删除(下)
【第10集】2.1 操作系统接口概述
【第11集】2.2 Linux系统调用机制(上)
【第12集】2.2 Linux系统调用机制(下)
【第13集】2.3 动手实践-系统调用日志收集系统(上)
【第14集】2.3 动手实践-系统调用日志收集系统(下)
【第15集】3.1 进程的概述
【第16集】3.2 进程控制块及Linux中的task_struct结构(上)
【第17集】3.2 进程控制块及Linux中的task_struct结构(下)
【第18集】3.3 进程控制(上)
【第19集】3.3 进程控制(下)
【第20集】3.4 线程及其模型(上)
【第21集】3.4 线程及其模型(下)
【第22集】3.5 Linux中进程和线程的创建(上)
【第23集】3.5 Linux中进程和线程的创建(下)
【第24集】3.6 进程同步机制(上)
【第25集】3.6 进程同步机制(下)
【第26集】3.7 信号量机制(上)
【第27集】3.7 信号量机制(下)
【第28集】3.8 生产者--消费者问题(上)
【第29集】3.8 生产者--消费者问题(下)
【第30集】3.9 读者--写者&哲学家进餐问题(上)
【第31集】3.9 读者--写者&哲学家进餐问题(下)
【第32集】3.10 进程间通信(上)
【第33集】3.10 进程间通信(下)
【第34集】3.10 进程间通信
【第35集】3.10 进程间通信
【第36集】3.11 动手实践--打印Linu进程控制块中的字段
【第37集】4.1 调度队列模型和调度准则(上)
【第38集】4.1 调度队列模型和调度准则(下)
【第39集】4.2 调度算法以及举例(上)
【第40集】4.2 调度算法以及举例(下)
【第41集】4.3 Linux进程调度概述(上)
【第42集】4.3 Linux进程调度概述(下)
【第43集】4.4 死锁的引入和预防(上)
【第44集】4.4 死锁的引入和预防(下)
【第45集】4.5 死锁的避免(上)
【第46集】4.5 死锁的避免(下)
【第47集】5.1 存储管理概述(上)
【第48集】5.1 存储管理概述(下)
【第49集】5.2 内存连续分配方式(上)
【第50集】5.2 内存连续分配方式(下)
【第51集】5.3 分页存储管理(上)
【第52集】5.3 分页存储管理(下)
【第53集】5.4 快表和两级页表(上)
【第54集】5.4 快表和两级页表(下)
【第55集】5.5 分段存储管理(上)
【第56集】5.5 分段存储管理(下)
【第57集】5.6 虚拟存储管理(上)
【第58集】5.6 虚拟存储管理(下)
【第59集】5.7 请求分页存储管理(上)
【第60集】5.7 请求分页存储管理(下)
【第61集】5.8 页面置换算法(上)
【第62集】5.8 页面置换算法(下)
【第63集】5.9 动手实践——可执行文件与进程虚拟地址空间(上)
【第64集】5.9 动手实践——可执行文件与进程虚拟地址空间(中)
【第65集】5.9 动手实践——可执行文件与进程虚拟地址空间(下)
【第66集】5.10 企业一线工程师解惑内存管理的八大问题(上)
【第67集】5.10 企业一线工程师解惑内存管理的八大问题(下)
【第68集】5.10 企业一线工程师解惑内存管理的八大问题(上)
【第69集】5.10 企业一线工程师解惑内存管理的八大问题(下)
【第70集】5.10 企业一线工程师解惑内存管理的八大问题(上)
【第71集】5.10 企业一线工程师解惑内存管理的八大问题(下)
【第72集】6.1 IO系统模型和功能(上)
【第73集】6.1 IO系统模型和功能(下)
【第74集】6.2 IO设备和设备控制器(上)
【第75集】6.2 IO设备和设备控制器(下)
【第76集】6.3 IO设备驱动程序(上)
【第77集】6.3 IO设备驱动程序(下)
【第78集】6.4 Linux字符设备驱动程序(上)
【第79集】6.4 Linux字符设备驱动程序(下)
【第80集】6.5 IO与设备无关的IO软件(上)
【第81集】6.5 IO与设备无关的IO软件(下)
【第82集】6.6 用户层IO软件
【第83集】6.7 缓冲区管理(上)
【第84集】6.7 缓冲区管理(下)
【第85集】6.8 磁盘存储器的性能和调度(上)
【第86集】6.8 磁盘存储器的性能和调度(下)
【第87集】6.9 动手实践-编写字符设备驱动程序
【第88集】7.1 文件系统概述(上)
【第89集】7.1 文件系统概述(下)
【第90集】7.2 文件的逻辑结构(上)
【第91集】7.2 文件的逻辑结构(下)
【第92集】7.3 外存的分配方式(上)
【第93集】7.3 外存的分配方式(下)
【第94集】7.4 文件的目录管理(上)
【第95集】7.4 文件的目录管理(下)
【第96集】7.5 文件存储空间的管理(上)
【第97集】7.5 文件存储空间的管理(下)
【第98集】7.6 文件的共享和保护(上)
【第99集】7.6 文件的共享和保护(下)
【第100集】7.7 Linux文件系统概述(上)
【第101集】7.7 Linux文件系统概述(下)
查看全部课程
相关推荐
26:14
第21集 Socket网络编程_b...
1439播放
21:22
中学数学基础7——常见不等式(中)
1426播放
05:32
【生肉】马丁斯科塞斯教你拍电影(1...
1451播放
13:29
地理高中必修1__第2章第3节•常...
1167播放
03:33
歼-8修复进行中 跟着军迷一起体验...
911播放
09:43
2.1.2数列极限的概念(2)(下...
1445播放
00:39
【清华大学校园街采】高考数学148...
5.2万播放
35:16
19.2.2 一次函数的概念
2.4万播放
11:37
构建起埃及的法老们【上】(上)
2584播放
01:51
书法行草书《涵》字的写法
839播放
00:14
留学生课堂集体致敬,全体起立诵读《...
1480播放
02:55
鱼块跟这个水煮鱼片比,还是这个做法...
1007播放