1.定义和管理
是计算机硬件和应用之间的一层软件
管理下面的资源:
CPU-
内存-
终端-
磁盘-
文件-
网络
电源
多核
2.计算机系统的运行
1.计算机系统
2.引导程序
当计算机开机运行时,需要先运行一个初始程序来加载操作系统并开始执行系统,其主要操作就是定位操作系统内核并将其加载到内存
引导程序是提前写好的,并且就位于内存里面(固件ROM只读内存,与其他内存不同,计算机断电后,固件里面的数据,代码不会丢失),只要计算机开机,就会执行引导程序
3.存储结构
1.结构
4.多道程序和分时系统
多道程序系统是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始和结束之间的状态。这就称为多道程序技术运行的特征:多道、宏观上并行、微观上串行。
多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用CPU,交替执行。引入多道程序设计技术的根本目的是为了提高CPU的利用率,充分发挥计算机系统部件的并行性,现代计算机系统都采用了多道程序设计技术。
分时操作系统是使一台计算机同时为几个、几十个甚至几百个用户服务的一种操作系统。把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。分时操作系统的特点是可有效增加资源的使用率。例如UNIX系统就采用剥夺式动态优先的CPU调度,有力地支持分时操作。
分时系统可以说分时系统是多道程序设计的延伸
(?)分时操作系统是给不同用户提供程序的使用,而多道程序系统则是不同程序间的穿插运行。
(?)总之,分时操作系统主要是针对于多用户来说的,而多道程序系统主要是针对于多程序来说的,注意用户和程序之间的区别。
5.操作系统的执行
操作系统是中断驱动的.时间是由中断或陷阱(或异常)引起的
陷阱(或异常)是一种软件生成的中断,源于出错或者用户程序的特定请求
1.双重模式
指的是 用户模式和内核模式
由来:由于操作系统和用户共享了计算机系统的硬件和软件,必须要去保证用户程序中的一个出错仅仅去影响的是正在运行的程序,因为如果采用了共享计算机资源的话,如果不区分操作系统代码和用户定义代码的执行的话,很有可能会发生许多进程可能会受到一个程序中的一个bug的影响,就比如说一个进程陷入了死循环中,那么有可能这个死循环就会去阻止很多其他进程的正确操作。而且也很有可能出现的问题就是这个一个错误的程序可能去修改另一个程序的数据,甚至是操作系统本身。(原文链接)
特权指令:将可能引起损害的机器指令(就是内核对硬件的操作指令),硬件只有在内核模式下才允许执行特权指令
双重模式执行提供保护手段,以便防止操作系统和用户程序受到错误的用户程序影响;如果用户模式下试图执行特权指令,那么硬件不会执行该指令,而是认为该指令非法,并将以陷阱形式通知操作系统
2.定时器
操作系统应该维持控制CPU,防止用户程序陷入死循环,或不调用系统服务并且不将控制返给操作系统.为实现这一目标可以使用定时器
定时器在设置的给定时间段(时间段可变也可固定)后会产生中断,操作系统会针对中断做相应的处理
操作系统在将控制权给用户之前,应该去确保设置好了定时器以方便的去产生中断。如果定时器产生中断,那么控制权就会自动交给控制系统,操作系统会针对不同的中断,做出不同的事情,比如说可以将中断作为致命的错误来处理,当然也可以给予用户程序更多的时间。(原文链接)