操作系统基础知识介绍

这一部分我将介绍操作系统的基础知识

  1. 操作系统的功能是什么

操作系统是计算机系统资源的管理者:包括软件资源和硬件资源

  1. 处理机管理:这个主要是和进程与线程调度相关,目的为了实现高并发
  2. 存储器管理:负责内存分配回收,地址映射,目录管理及文件读写管理保护
  3. 文件管理:文件系统进行管理,包括文件存储空间管理,文件读写保护等
  4. 设备管理:完成用户IO请求,包括缓冲管理,设备处理,虚拟设备

对于上述功能你可能感觉到陌生,我们会在后续逐一介绍:对应以下四个章节

       操作系统是用户与计算机硬件之间的接口

  1. 命令接口:方式分为联机控制和脱机控制

联机控制:交互式命令接口,适用于分是或者实时系统的接口,类似于终端

脱机控制:批处理命令接口,脱机命令由一组作业控制命令组成,类似于程序段

  1. 程序接口:

由一组系统调用组成,用户通过在程序中使用系统调用来请求操作系统服务

如今较为流行的为GUI(图形用户界面),即图形接口

       操作系统是实现了对计算机资源的扩充

      

2. 操作系统的特征

  1. 并发

              并发是指两个或者多个事件在同一事件间隔发生,实现多道程序交替执行,使CPU处于忙碌状态

  1. 共享

即资源共享,指的使系统中的资源可以共多个并发执行的进程共同使用

互斥共享资源:一段事件只允许一个进程访问该资源

同时访问资源:这类资源允许一段时间内多个进程同时访问

       上述两个特征是操作系统最基本的特征,两者间互为存在关系

  1. 虚拟

虚拟指的是将一个物理上的实体变为若干逻辑上对应物,对用户隐藏,使用户无法感知

  1. 异步

多道程序环境允许多个程序并发执行,但是由于资源有限,进程执行不是一贯到底的,以不可预知的速度向前推进,这就是程序的异步性

       上述特征十分重要,可以这么记忆,病了就享受(并发与共享不可分),走步都虚

3. 操作系统运行环境

3.1处理器运行模式

在操作系统中,通常CPU会执行两种不同性质的模式,一种使操作系统内核程序,另一种是用户自编程序,而指令一般分为两种,一种为特权指令,另一种为非特权指令

特权指令:不允许用户直接使用的指令,如IO,关中断,内存清零等等

非特权指令:允许用户直接使用

那么上述指令的具体实现方式这里讲述一下

       操作系统将CPU的运行模式分为用户态和内核态,内核态下就允许使用特权指令

设计一个标识,来标志当前CPU处于什么状态

       现代操作系统,几乎都是分层式的结构

大部分操作系统的内核包括以下四方面内容

  1. 时钟管理:计时,给用户提供标准的系统时间,还可用于进程切换
  2. 中断机制:操作系统各项操作的基础,现代操作系统是靠中断驱动的软件
  3. 原语:计算机底层可被调用的共用小程序,具有原子性,操作一气呵成,运行时间短,调用频繁
  4. 系统控制的数据结构及处理:就是系统运行过程中的数据结构,如PCB,设备控制块,消息队列,缓冲区等等

时中语系统

3.2中断和异常的概念

中断又称外中断:指的是CPU执行指令外部事件,通常用于IO和时钟中断

异常又称为内中断:指的是来自CPU内部:如程序非法操作,地址越界,运算溢出,虚存缺页等等

外中断分为可屏蔽中断和不可屏蔽中断:看名字也知道什么意思

异常分为故障,自陷,终止:

故障就是指令执行引起的

陷入是用于用户态下转换内核态使用的

终止是出现了CPU无法继续执行的硬件故障

Note:故障和陷入为软件中断,而终止和外部中断属于硬件中断

中断和异常处理过程大致如下

  1. 执行到第i条指令检测到异常或中断请求
  2. CPU打断当前用户程序,赚取处理异常或者中断
  3. 在处理完成后,CPU通过执行中断或者异常返回指令,回到第i条指令或者第i+1条继续执行
  4. 若中断或者异常处理程序发现本次中断或者异常不可恢复,则终止程序
3.3 系统调用

看了上面那么多,你肯定在疑惑特权指令不允许用户使用,那么用户如何使用操作系统中的各类资源呢,那就是系统调用,一个操作系统提供给应用程序使用的接口,凡是和共享资源相关的,就需要通过系统调用方式向操作系统提出请求,由操作系统代为完成,结果返回用户

也就是说原本我的用户程序是不允许使用IO的,但是我可以通过(打电话)系统调用请老大哥(操作系统)来干这件事,干完后告诉我一下就行

但是CPU只有一个,我这边占着,老大哥就用不了,那么我只能先退下来(得告诉老大哥一声我下来了,它该上了),那么这个通知手段叫做陷入指令,也就是上面提到的软件中断,记住:老大哥很仗义,只有陷入指令才会让其抢夺我的控制权。

4. 操作系统结构

这边就简要说一下操作系统都有哪些结构,诸位只需要简单了解即可

  1. 分层法

将操作系统分为若干层:底层为硬件,最上层为用户接口,相互之间通过接口互相调用

  1. 模块化

将操作系统按照系统功能划分为若干独立的模块

  1. 宏内核和微内核

按照内核架构划分为宏内核和微内核

宏内核:将操作系统的主要功能模块都作为一个紧密联系的整体运行在内核态

微内核:只在操作系统中保存最基本的功能,将移出操作系统内核的代码根据分层原理进行划分为若干服务程序,之间相互独立,通过微内核进行通信

那么微内核提供哪些功能

  1. 进程管理
  2. 低级存储器管理:只负责逻辑地址转为物理地址
  3. 中断和陷入处理

5. 操作系统引导

1. 激活CPU:第一步肯定是这个,不然你在哪执行程序啊

2. 硬件自检:检测硬件是否故障

3. 加载带有操作系统的硬盘:加载引导扇区

4. 加载主引导记录:主引导记录的作用是告诉CPU去哪找操作系统

5. 扫描硬盘分区表:进行各盘区分

6. 加载分区引导记录:各盘还需要进行分区引导

7. 加载启动管理器:启动

8. 加载操作系统:操作系统加载内存

6.虚拟机

通过虚拟化技术,将一台物理机器虚拟化为多台虚拟机

主要分为两种:

第一类虚拟机管理程序:

       类似于操作系统,运行在特权级别的程序,向用户提供若干虚拟机

第二类虚拟机管理程序

       就是目前市面上的一些软件,就是本机操作系统上运行的一个进程:如下

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值