操作系统(一)概述&基本组成&运行机制

一、概述

        1.相关定义

                ①操作系统是系统软件,而不是硬件

                ②负责管理协调软硬件等计算机资源的工作

                ③为上层的应用程序、用户提供接口和环境

                        进程:程序执行过程,执行前需要将该程序放入内存中,接着被CPU处理

        2.提供的接口(对用户/程序)

                命令接口:允许用户直接使用

                        分为:联机命令接口:用户说一句系统做一句(交互式命令)

                                   脱机命令接口:用户说一堆系统做一堆(批处理命令)

                程序接口:允许用户通过程序间接使用

                        动态链接dll文件

                GUI:用户图形接口

                        易混淆:系统调用=系统调用命令=广义指令

        3.资源管理和扩展(对硬件)

                没有任何软件支持的计算机称为“裸机

                覆盖了软件的机器称为:扩充机器(虚拟机)

二、操作系统的特征

        1.并发

                两个/多个事件在统一时间间隔内发生(宏观是同时发生,微观上是交替发生

                操作系统程序并发是同时诞生的。

                易混淆:并行-->多个事件在同一时刻发生

        2.共享

                系统中的资源可以供多个并发执行的程序共同使用

                        分为:互斥共享(仅允许一个) & 同时共享(微观上可能是交替访问)

                并发和共享的关系(互为条件

                        若失去并发性,则系统共享性将失去意义

                        若失去共享性,则系统并发性将无法实现

        3.虚拟

                将物理上的实体变为(多个)逻辑上的对应物

                        典型案例:虚拟内存--使用的空分复用技术

                                          虚拟处理器--多线程(时分复用

                        虚拟性服务于并发性

        4.异步

                多程序并发执行,但是由于资源有限,进程的执行不是一贯到底的(以不可预知的速度向前推进--可能资源被锁定了,需要等待资源释放)

                系统的并发性才可能导致异步性

三、操作系统的发展与分类

        1.手工操作阶段

                使用纸带作为程序载体和输出结果载体

                缺点:用户独占全机,人机速度矛盾-->资源利用率低。

        2.批处理阶段

                单道批处理系统

                        引入脱机输入/输出技术(载体为磁带),由监督程序(操作系统的雏形)负责控制输入、输出

                        需要先使用外围机将纸带转换为磁带,再将磁带输入

                        优点:一定程度上缓解了人机速度矛盾,提升了资源利用率

                        缺点:同一时刻仅单个程序在执行,CPU有大量时间是空闲的,资源利用率依旧底下

                多道批处理系统

                        计算机从磁带中读取多道程序。由终端技术实现这些程序的并发执行。(操作系统正式诞生

                        优点:程序并发执行,共享计算机资源,极大的提升了资源利用率。

                        缺点:用户响应时间过长,无人机交互功能。

        3.分时操作系统

                计算机以时间片为单位轮流为各个用户/作业服务。在时间片内用户可以与计算机进行交互。

                优点:解决了人机交互问题,允许多个用户同时使用同一台计算机(各用户相互独立)

                缺点:无法优先处理紧急任务

        4.实时操作系统

                优点:可以优先响应紧急任务

                        要求要在严格的时限条件内处理完事件

                        主要特点:及时性、可靠性

                分为: 硬实时系统:绝对严格在规定时间内处理完成

                            软实时系统:偶尔违反时间规定

        5.其他操作系统

                网络操作系统

                分布式操作系统

                个人计算机系统

四、操作系统的运行机制和体系结构

        1.运行机制

                指令:CPU能识别、执行的基本命令

                        高级程序语言需要通过翻译转换为指令(可能一条语言对应多条指令)

                指令分类

                        特权指令:不允许普通用户程序使用

                        非特权指令:普通指令

                处理器状态

                        用户态(目态):仅可执行非特权指令

                        核心态(管态):可以执行特权指令非特权指令 

                         用程序状态寄存器(PSW)中的标志位来确认(0为用户态、1为核心态)

                程序分类

                        内核程序:系统资源的管理者,运行在核心态

                        应用程序:运行在用户态

        2.操作系统内核

                内核是计算机的底层软件,操作系统中最基本、最核心的部分。以内核程序的形式实现

操作系统非内核功能
内核进程管理、存储器管理、设备管理等
时钟管理中断处理原语(设备驱动、CPU切换等)<具有原子性>

        3.操作系统的体系结构

                大内核

                        将操作系统的主要功能模块全部作为内核,运行在核心态

                        优点:性能高

                        缺点:内核代码庞大,结构复杂,不利于维护

                微内核

                        只保留基本功能在内核

                        优点:内核功能少、结构清晰、方便维护

                        缺点:需要频繁的在核心态和用户态之间切换,性能低

五、中断和异常

        1.中断概念和作用

                当中断发生后,CPU立即进入核心态;当前进程暂停运行,由操作系统内核进行处理

                中断可以使CPU从用户态切换为核心态,使操作系统拥有计算机控制权。

                        用户态->核心态是实现中断的唯一途径

                        核心态->用户态通过执行一个特殊指令,将程序状态字(psw)标志设置为用户态

        2.中断分类

                区分方式:信号的来源,是否与当前执行的指令有关

                内中断

                        其他分类方式:陷入(有意为之的异常)、故障(由错误条件引起的)、终止(不可恢复的致命错误);

                        信号来自CPU内部,与当前执行的指令有关

                        自愿中断

                                指令中断:系统调用访问指令

                        强迫中断

                                硬件故障:缺页

                                软件故障:整数÷0

                外中断

                        中断;信号来自CPU外部,与当前执行的指令无关

                                外设请求:I/O发送的中断信号

                                人工干预:用户强制终止一个进程

        3.外中断的处理过程

                ①执行完指令后,CPU会检查当前是否有外部中断信号

                ②如检测到外部中断信号,则需要保护被中断进程的CPU环境

                ③根据中断信号类型转入对应的中断处理程序

                ④恢复原进程的CPU环境并退出中断

六、系统调用

        可以理解为一种供应用程序调用的特殊函数;程序接口由系统调用组成

        应用程序通过系统调用请求计算机资源,可以保证系统的稳定性和安全性,防止非法操作。

        分类(按功能)

                设备管理:设备的请求/释放/启动

                文件管理:文件的读/写/创建/删除

                进程控制:进程的创建/撤销/阻塞/唤醒

                进程通信:进程之间的消息/信号传递

                内存管理:内存的分配/回收

        系统调用需要一些特权指令来实现,因此其运行在核心态

        系统调用和库函数

                如果使用高级程序语言,则需要通过库函数来获取系统调用(进行过封装)

普通程序直接使用系统调用 / 使用库函数(并非所有库函数都涉及系统调用
编程预言向上提供库函数(封装系统调用,隐藏细节)
操作系统向上提供系统调用
裸机

        系统调用的过程

                高级语言  --编译-->  汇编语言  --系统调用-->

                高级语言和汇编语言运行在用户态,系统调用运行在核心态

                传递系统调用参数 --> 执行陷入命令(用户态) -->执行系统调用相关服务(核心态)-->返回应用程序

                        陷入指令执行在用户态,执行后会立刻引起一个内中断,从而使CPU进入核心态

                        陷入指令是唯一一个只能在用户态,不能在核心态下执行的指令

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值