【操作系统一】基本概念

一、操作系统的定义

操作系统本身是一种系统软件,负责管理协调计算的硬件、软件等资源,为上层的应用程序或者直接为用户提供简单易用的服务。

二、操作系统的功能

操作系统有以下三个功能:

资源管理、向上层提供服务、对硬件的扩展

1. 资源管理

         操作系统需要管理cpu、存储器(内存)、文件、外设

2. 向上层提供服务

         给普通用户提供图形界面、联机命令接口(命令行)、脱机命令接口(批处理)

         给应用程序提供系统调用接口

3. 扩展硬件

         操作系统将计算机的硬件管理协调起来,完成复杂的操作,没有操作系统,各种已经只能是各种功能组件,而不是能够提供        复杂操作的整体。

三、操作系统的特征

在没有操作系统的时候,计算机是什么样子?

         程序运行的过程如下,首先将需要运行程序读入磁带等类似现在内存功能的存储设备,然后计算机读取该待运行的程序,        一行一行执行,执行完这个程序之后将结果输出到磁带等设备,然后读取下一个程序。各个程序串行、一个接一个执行,处理器        可能有大量时间是在等待读取或者写入磁带,等待的时候无法执行其它程序。

操作系统有四个特性:并发、共享、虚拟、异步

1. 并发

         并发是指两个或多个事件在同一时间间隔内发生,这些事件从宏观(时间间隔为最小单位)上看是同时发生的,但微观上      (更细粒度的时间间隔)是交替发生的。而并行是两个或多个事件在同一时刻(最细粒度时间间隔)同时发生。

         操作系统的并发性是指计算机系统中“同时”(并发地)运行着多个程序。操作系统是伴随着“多道程序技术”而出现的,和        并发是一起诞生的,刚开始是进程并发,还没有线程的概念。cpu只有一个核心,那么只能并发地执行多个程序,但是目前的处        理器都是多核心的,能够并行地执行核心数个程序,而每个核心都可以并发地执行多个程序。

2. 共享

         资源共享是指系统中的各种资源可以供多个并发程序共同使用,可以互斥共享或者同时共享,而同时共享实际上也是宏观        上同时,类似于并发的概念。

         并发和共享是操作系统最基本的两个特性。共享和并发的关系:如果不存在并发,那么程序穿行依次执行,共享失去意           义,因为同一时段只有一个程序使用资源,无需共享;如果不存在共享,那么并发执行的程序无法在时段内共享资源,也就无法         并发执行下去。因此并发和共享互为存在条件。

3. 虚拟

         虚拟是指将物理上的实体通过空分或者时分复用的方式,变成若干个逻辑上的对应物。比如通过虚拟技术使得用户感受到         内存空间翻倍了,或者是通过时分复用的方式多个程序能够交替上cpu执行,因此能够实现并发执行。

4. 异步

         操作系统的异步性是指,多个程序并发执行的情况下,由于多个程序需要交替的获取某个资源,导致程序无法一直执行,         而是走走停停地,以不可预知的速度推进。很多地方都有异步这个概念,不同的上下文中异步的定义是不同的,这里是操作系统         的异步性的概念。

四、中断和异常

理解中断:简单理解为打断cpu当前执行的任务,使其执行其它的任务。没有中断,操作系统就无法完成其管理功能,就不可能        实现程序并发。

1. 中断的作用

         在计算机系统中,会有两种程序使用cpu资源,分别是操作系统这个系统程序,以及应用程序。

         为了让应用程序能够正常执行,操作系统必须在合适的时机将cpu执行权交给应用程序使用,操作系统也必须通过某种方         式将cpu执行权收回,否则应用程序将一直执行下去(直到应用程序主动退出),这种方式就是中断,中断是操作系统重新拿到         cpu控制权的唯一途径,通过这种途径操作系统才能控制各个应用程序交替上cpu,从而实现并发。

         按照上cpu的程序类型不同,可以分为用户态(执行应用程序)和内核态(执行操作系统内核程序),从内核态到用户态只           需要操作系统执行一条特权指令(只有操作系统程序能够执行),修改PSW(程序状态字寄存器)的标志位,标识为用户态,           这个动作意味着操作系统主动让出cpu使用权;从用户态到内核态必须由中断引发,硬件自动完成状态转换的过程(将应用程序         上下文保存,回复操作系统程序上下文),意味着操作系统夺回cpu使用权,中断引发后会自动调用内核中处理中断信号的程序         来处理中断。中断由谁、怎么引发?

2. 中断的类型

         内中断(也称为“异常”)

         中断信号来自cpu内部,因为是当前执行的指令触发的,比如说当前应用程序试图执行一条特权指令、或者当前应用程序         中执行除0等非法操作、或者主动执行固定的陷入内核态的指令(系统调用实际上就是通过该指令完成的,因为系统调用实际上         就是调用内核程序的接口,执行内核程序逻辑,那么必然需要进入内核态),都会触发内中断,主动放弃cpu使用权。

         外中断

         中断信号来自cpu外部,和当前执行的指令无关。外部设备向cpu发送中断信号后,cpu在每隔一段时间的检测外部中断信         号时,能够检测到该中断,从而执行处理中断的内核程序。比如,I/O设备完成输入输出后向cpu发送中断信号,cpu读取到信号         后开始执行处理IO中断的内核程序,从而执行下一步操作(比如决定让下一个应用程序上cpu运行)。

3. 中断的基本原理

         根据不同的中断信号,内核程序会查询中断向量表,找到当前信号对应的中断处理程序并执行。中断处理程序是内核程序

五、系统调用

1. 什么是系统调用

         操作系统作为计算机资源的管理者,需要向上层提供服务,其主要提供两种服务,一种是面向人的图形、命令接口(联机         命令接口、脱机命令接口);一种是面向应用程序的系统调用。系统调用是一种供应用程序调用的特殊函数,应用程序通过系统         调用来获得操作系统内核提供的服务,比如创建文件的服务(操作系统管理文件)。

2. 系统调用和库函数的区别

        从调用者的角度来看都是提供服务的接口,从提供方来看其区别是,提供服务的程序是执行在用户态的用户程序还是执行        在内核态的内核程序,内核程序提供的服务被称为系统调用(操作系统的调用)

3. 哪些操作需要系统调用

        操作系统作为系统资源的管理者,只要是和共享资源有关的操作都需要通过系统调用,由操作系统完成。这样系统不会因         为应用程序非法操作导致出现稳定性和安全性问题。

        系统调用的分类:设备管理、文件管理、进程控制、进程通信、内存管理

        设备管理:完成设备的请求、释放、启动等功能

        文件管理:完成文件的读、写、创建、删除等功能

        进程控制:完成进程的创建、撤销、阻塞、唤醒等功能

        进程通信:完成进程之间的消息传递、信号传递等功能

        内存管理:完成内存的分配、回收等功能

        系统调用的过程:传递参数、执行陷入指令、由操作系统内核程序处理系统调用请求,返回应用程序继续执行

六、操作系统的体系结构

         

                  时钟管理、中断处理、原语更加接近硬件;进程管理、存储器管理、设备管理主要是操作数据结构,不会直接操作硬              件。操作系统的非内核功能运行在用户态。cpu可以执行两种程序:系统内核程序、普通程序;cpu的两种状态:内核态、用户态;两种指令:特权指令、普通指令

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值