操作系统笔记:概述

操作系统笔记

学习视频跳转链接
本人为自学整理的文档

第一部分:概述

概述
操作系统(以下用OS)是指控制和管理整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。

OS四大特征

并发:指两个或多个事件在同一时间间隔内发生。在操作系统中引入进程的目的是使程序能并发执行,操作系统的并发性是通过分时实现的。(注:一台处理机同一时刻只能处理一个进程)
共享:指系统中的资源可供内存中多个并发执行的进程共同使用。
虚拟:指把一个物理上的实体变成若干逻辑上的对应物。利用虚拟技术实现虚拟处理器(分时处理),虚拟内存(逻辑划分),虚拟设备(逻辑划分)
异步:由于资源有限,系统又支持程序并发执行,进程的执行是走走停停的。
(并发和共享是操作系统两个最基本的特征。两者之间互为存在条件,资源共享是以程序的并发为条件的,若系统不支持程序并发执行,就不存在资源共享的问题;其次若系统不能对资源共享实施有效管理,就会影响程序的并发执行。)

处理机管理:处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理就是对进程的管理。进程管理的主要功能是进程控制、进程同步、进程通信、死锁处理、处理机调度等。
存储器管理:存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。
文件管理:计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。
设备管理:设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能。

操作系统提供的接口主要分为两类:一类是命令接口,用户利用这些操作命令来组织和控制作业的执行;另一类是程序接口(也称系统调用),编程人员可以使用它们来请求操作系统服务。按作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。
联机命令接口又称交互式命令接口,适用于分时或实时系统的接口。用户通过控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令,控制权就转给操作系统的命令解释程序,然后由命令解释程序解释并执行输入的命令,完成指定的功能。之后,控制权转回控制台或终端。
脱机命令接口又称批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书七的命令。
程序接口程序接口由一组系统调用(也称广义指令)组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求。当前最为流行的是图形用户界面( GUI ) ,即图形接口。 GUI 最终是通过调用程序接口实现的,用户通过鼠标和键盘在图形界面上单击或使用快捷键,就能很方便地使用操作系统。严格来说,图形接口不是操作系统的一部分,但图形接口所调用的系统调用命令是操作系统的一部分。
操作系统发展
提高单机资源利用率的关键技术:多道程序设计技术。多道程序设计技术允许同时把多个程序放入内存,并允许它们在CPU交替运行,当一道程序因I/O请求而暂停运行时,CPU便立刻转去运行另一道程序,即I/O设备可与CPU并行工作,这是借助中断技术实现的。
在批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力。要求快速响应用户导致分时系统的产生。
批处理操作系统的用户脱机使用计算机,作业是成批处理,系统内多道程序并发执行,交互能力差。 分时操作系统可让多个用户同时使用计算机,人机交互性较强,具有每个用户独立使用计算机的独占性,系统响应及时 。实时操作系统能对控制对象做出及时反应,可靠性高,响应及时,但资源利用率低。

操作系统内核四大内容

时钟管理:时钟的第一功能是计时,操作系统需要通过时钟管理,向用户提供标准的系统时间。另外,通过时钟中断的管理,可以实现进程的切换。例如,在分时操作系统中采用时间片轮转调度,在实时系统中按截止时间控制运行,在批处理系统中通过时钟管理来衡量一个作业的运行程度等。
中断机制:引入中断技术的初衷是提高多道程序运行环境中CPU的利用率,而且主要是针对外部设备
的。后来逐步得到发展,形成了多种类型,成为操作系统各项操作的基础。例如,键盘或鼠标信息的输入、进程的管理和调度、系统功能的调用、设备驱动、文件访问等。
原语:按层次结构设计的操作系统,底层必然是一些可被调用的公用小程序,它们各自完成一个规
定的操作。它们的特点如下:
(1)处于操作系统的最低层,是最接近硬件的部分。
(2)这些程序的运行具有原子性,其操作只能一气呵成(主要从系统安全性和便于管理考虑)。
(3)这些程序的运行时间都较短,而且调用频繁,
通常把具有这些特点的程序称为原语(Atomic Operation)。定义原语的直接方法是关闭中断,让其所有动作不可分割地完成后再打开中断。系统中的设备驱动、CPU切换、进程通信等功能中的部分操作都可定义为原语,使它们成为内核的组成部分。
系统拉制的数据结构及处理:系统中用来登记状态信息的数据结构很多,如作业控制块、进程控制块(PCB)、设备控制块、各类链表、消息队列、缓冲区、空闲区登记表、内存分配表等。为了实现有效的管理,系统需要一些基本的操作,常见的操作有以下3种:
(1)进程管理。进程状态管理、进程调度和分派、创建与撤销进程控制块等。
(2)存储器管理。存储器的空间分配和回收、内存信息保护程序、代码对换程序等。
(3)设备管理。缓冲区管理、设备分配和回收等。

中断和异常

提高资源利用率就需要在程序未使用某种资源时,把程序对资源的占用权释放,这一行为通过中断实现。
中断称为外中断,指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断,时钟中断(表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务),这一类中断与当前指令执行无关的事件;异常称内中断、例外或陷入,指来自CPU执行指令内部的事件,如非法操作码、地址越界等。
在这里插入图片描述
在这里插入图片描述

补充知识点

访管指令是一条可以在用户态下执行的指令。在用户程序中,因要求操作系统提供服务而有意识地使用访管指令,从而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断。访管中断由访管指令产生,程序员使用访管指令向操作系统请求服务。为什么要在程序中引入访管指令呢?这是因为用户程序只能在用户态下运行。若用户程序想要完成在用户态下于法完成的工作,该怎么办?解决这个问题要靠访管指令。访管指令本身不是特权指令,其基本功能是让程序拥有“自愿进管”的手段,从而引起访管中断。处于用户态的用尸程序使用访管指令时,系统根据访管指令的操作数执行访管中断处理程序,访管中断处理程序将按系统调用的操作数和参数转到相应的例行子程序。完成服务功能后,退出中断,返回到用户程序断点继续执行。
操作系统的运行环境可以理解为:用户通过操作系统运行上层程序(如系统提供的命令解释程序或用户自编程序),而这个上层程序的运行依核于操作系统的底层管理程序提供服务支持,当需要管理程序服务时,系统则通过硬件中断机制进入核心态,运行管理程序:也可能是程序运行出现异常情况,被动地需要管理程序的服务,这时就通过异常处理来进入核心态。管理程序运行结束时,用户程序需要继续运行,通过相应的保存的程序现场退出中断处理程序或异常处理程序,返回断点处继续执行。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜以冀北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值