操作系统定义:
一、操作系统位于计算机用户和计算机硬件之间
二、操作系统是管理计算机硬件的软件
三、操作系统包括预定一个系统时向你发送的所有一切
四、操作系统是一直运行在计算机上的程序(通常称作内核kernel)(除内核外还有系统程序和应用程序)
操作系统的目的:
一、提供环境,让用户能够便捷且高效地执行程序
(计算机软件产品或任何产品都要从convenient和efficient两个角度进行考虑)
(历史上对于操作系统来说,曾经是高效更重要,但由于硬件水平提升计算机处理速度越来越快,考虑商业的角度便捷便显得更加重要)
计算机的组成部分:
一、计算机系统可以大致分为四个部件:硬件、操作系统、应用程序和用户
1、硬件:如中央处理器、内存、输入输出设备等
2、操作系统:控制硬件,并协调各个用户应用程序的硬件使用,是用户能直接接触到的程序。
3、应用程序:处理具体功能的程序,其可以借助操作系统调用硬件资源
二、计算机系统的运行
大致运行思路:
1、计算机电源打开会自动开始运行引导程序(bootstrap program)
2、引导程序存储在只读内存中,它会初始化计算机的各个组件,如CPU、设备控制器等
3、最后它会运行内核程序,内核程序运行后便控制计算机整个前后端
本图阐释:
一、每个类型的设备都有自己的一个控制器,控制器相当于小型CPU
二、CPU和控制器之间的信息传输都通过总线Bus,同时和内存的传输也是通过Bus
三、不同控制器和设备独立同时运行(concurrent),竞争总线使用权
四、每个控制器都有自己的独立缓存,用于和内存的传输
五、控制器的出现是因为CPU和IO设备运行速度不一致。当IO设备运行结束时,通过控制器向CPU发送中断操作(interrupt)
六、对于CPU而言,设备和对应的控制器是一个整体。
七、IO指令包括:端口号+命令。CPU发送IO指令后通过总线到达对应的控制器,后面操作由控制器执行。IO指令存储在设备驱动程序中,而设备驱动程序存储在操作系统中。我们程序中调用的IO指令只是操作系统提供的接口。
操作系统的驱动——中断(重点)
操作系统是靠中断驱动的
事件发送通常通过硬件或者软件的中断来通知。中断(interrupt)包括两个部分:一、trap(同步陷入内核)(程序引发的陷阱)。二、interrupt(异步陷入内核)(IO设备引发的中断)。其中trap又分为:一、error(硬件发出错误给内核)。二、request(程序合法向内核发出中断请求)
不论是trap还是interrupt,在通知操作系统,操作系统做好备份记录后,都会通知具体IO设备去处理中断。处理结束后都会再以异步interrupt的形式,来通知CPU。(中断必须通过操作系统来进行)
重点概念:
一、 从硬件角度看中断都是一样的(陷入内核)
二、trap是程序自身出现问题,interrupt是IO硬件造成的
操作系统的功能:
用户角度:
用户眼中的操作系统主要目的是让用户使用方便,次要是性能,不在乎的是资源利用(如何共享硬件和软件资源)
本图来自《操作系统概念》黑宝书系列
看上图我们便可以知道计算机系统四个主要部分的关系。注意的是,本图中用户只能直接接触应用程序和系统程序,但是这显然是错误的,用户在也能直接接触操作系统甚至能直接接触计算机硬件。
系统视角:
操作系统的目的是控制程序管理用户程序的执行,防止计算机资源的错误或不当使用
关键名词:
控制:一、从用户角度操作系统控制软硬件是持续运作的。二、从微观硬件角度操作系统控制是无形的手在调控,而非持续不停的(机制,随时待命)(必要时运行,防止资源浪费)
总结:
知识来源:操作系统概念(黑宝书)、山东大学高晓程老师PPT及课上讲解。不要私下外传
如果觉得还可以就点个赞啦~~