计算机操作系统

基本概念

计算机操作系统介于应用程序和计算机硬件之间,其本身就是一个软件,操作系统是由内核管理硬件资源,系统调用部分用来管理应用程序所提供的系统调用接口
1、各种繁琐复杂的接口打包封装提供给程序员使用。
2、应用本身对硬件的多路复用(时间复用||空间复用)。

基本特征

1、并发
并发性是指两个或多个事件在同一时间间隔内发生(操作系统的进程切换)。
2、共享
系统中的资源可供内存中多个并发执行的进程(线程)共同使用(互斥共享、并发共享)。
3、虚拟
利用时分复用和空分复用技术来实现把一个物理上的实体,变为若干个逻辑上的对应物(虚拟内存)。
4、异步
微观中多道程序环境下程序的执行,是以异步方式进行的。

基本功能

1、进程管理
进程控制、进程同步、进程通信、死锁处理、处理机调度等。
2、内存管理
内存分配、地址映射、内存保护与共享、虚拟内存等。
3、文件管理
文件存储空间的管理、目录管理、文件读写管理和保护等。
4、设备管理
完成用户的 I/O 请求,方便用户使用各种设备,并提高设备的利用率。
主要包括缓冲管理、设备分配、设备处理、虛拟设备等。

大内核和微内核

  1. 大内核
    大内核是将操作系统功能作为一个紧密结合的整体放到内核。由于各模块共享信息,因此有很高的性能。
  2. 微内核
    由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。
    在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。
    因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。

中断分类

中断分类

CPU调度算法

算法解释特点
先到先服务调度(FCFS)根据就绪队列的到达时间来服务,此时就绪队列是一个FIFO队列,先到先服务,后到的线程不能抢占前面正在服务的线程优点是实现简单,缺点也很明显,就是CPU进程区间变化很大时,平均等待时间会变化很大
最短作业优先调度(SJF)CPU进程区间最短的先执行,如果两个进程区间具有同样的长度,那么按照FCFS来调度SJF可以是抢占的,也可以是不抢占的。它的平均等待时间优于FCFS。
优先级调度SJF算法就是一种特殊的优先级调度,只不过这里的优先级定义更加广泛一些,SJF算法的优先级是按照CPU进程区间长短来定义的,这里的优先级可以是其他的一些定义。优先级调度可以是抢占的,也可以是非抢占的。优先级调度的一个主要问题是无穷阻塞(也称为饥饿),如果一个线程的优先级很低,可能需要等待很长的时间才能到这个线程执行,甚至永远不执行,一种解决方法是老化(随着时间的增长,增加线程的优先级)
轮转法调度类似于FCFS,但是增加了抢占为了切换线程。定义一个较小的时间单元,称为时间片,通常为10-100ms。为了实现RR算法,将就绪队列保存为FIFO队列,新进程增加到就绪队列队尾,CPU调度程序从就绪队列选择第一个进程,设置定时器在一个时间片之后再中断,再分派这个进程。如果该进程的CPU区间小于时间片,进程本身就会释放CPU,调度程序继续处理下一个进程,如果当前进程的CPU区间比时间片长,定时器会产生CPU中断,实行上下文切换,然后将此进程放到就绪队列队尾,继续调度就绪队列第一个进程。轮转法调度专门是为分时系统设计的
多级队列调度对进程进行分组,在组内使用FCFS和SJF算法,在组间实行优先级调度或者轮转法调度不允许进程在组间切换
多级反馈队列调度根据不同区间的特点区分进程,如果CPU进程占用过多CPU时间,那么它会被转移到更低优先级队列。这种形式老化阻止饥饿。允许进程在组间切换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值