目录
计算机的硬件组成
什么是操作系统
操作系统概念
我们平时使用的电脑有windows操作系统,手机有安卓系统……
操作系统是管理硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统软件
我们打开电脑的“任务管理器",这就是操作系统的运行:
计算机的层次结构:
- 操作系统要协调应用程序和计算机硬件
- 操作系统要给应用程序提供服务,用户可以直接使用操作系统
- 操作系统是最接近硬件的系统软件
操作系统的作用及功能
1、操作系统作为系统资源的管理者(同时管理软件和硬件),需要什么功能?
所以,实现功能:
1、处理机管理功能:创建和撤销进程、协调各个进程的运行、实现进程之间的信息交换、将处理机分配给进程……
2、存储器管理功能:实现内存分配和回收,内存保护,地址映射(地址空间内的逻辑地址和内存的实际地址相匹配)和内存扩充……
3、设备管理功能:实现缓冲管理,设备分配和设备处理……(完成用户进程提出的I/O请求,为用户进程分配I/O设备并完成I/O操作,提高cpu和I/O设备的利用率 )
4、文件管理功能:实现文件存储空间管理,目录管理,文件的读/写管理和保护……
2、操作系统作为用户和计算机硬件之间的接口,需要什么功能?
用户可以通过应用程序来应用操作系统,或者用户直接应用操作系统
- 用户接口:
- 程序接口:用户通过程序来间接使用
java代码,c代码……等代码操作
- 图形界面:
3、操作系统是最接近硬件的系统软件,需要什么功能?
实现对硬件机器的扩展---在裸机上安装操作系统,让其可以实现更加多样的功能。
裸机:没有安装任何软件(包括操作系统)
虚拟机:包含了软件的机器
操作系统的发展过程
单道批处理系统
作业输入到磁带上,系统控制将一个作业加载进入内存,内存中始终只保持一道作业,等待此作业结束才会加载下一个作业
缺点:系统资源得不到充分利用
内存中只有一个程序运行,这个程序在运行过程中如果发生I/O请求,那么高速的CPU会等待低速的I/O请求而陷入等待,直到I/O完成CPU才会继续运行
多道批处理系统
用户提交的作业保留在外存,排成一个队列,称为“后备队列”,然后作业调度选取合适的若干作业加载进入内存,使其共享资源
假设内存有多个程序A,B:当A这个程序在运行过程中如果发生I/O请求,CPU因为低速的I/O请求而陷入等待,利用这个时间,让CPU去调度B程序
分时系统
分时系统指的是在一台主机上连接多台计算机。它满足了人机交互的需求
实时系统
指系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并且控制所有实时任务协调一致地运行
操作系统的特征
并发
并行:两个或者多个事件同一时刻发生
并发:两个或者多个事件同一时间间隔发生,这些事件宏观上同时发生,但是微观上交替发生
操作系统的并发性是指:计算机系统中同时存在着多个运行着的程序
一个程序需要加载进入内存并且分配cpu才可以执行 一个单核处理器(cpu)只能在同一时刻运行一个程序,所以操作系统会负责管理程序交替运行(这些程序宏观上同时发生,但是微观上交替发生)
如今的处理器,已经有了多核cpu,例如4核cpu,但是并发性仍然存在
共享
也就是资源共享,指的是系统中的资源可以让内存中多个并发执行的进程共同使用
互斥共享方式:例如电脑分屏时,键盘只能在同一时刻,给其中一个程序输入文字
同时共享方式:例如电脑看电视剧时,打开腾讯视频和爱奇艺,你能同时听到两个平台的视频声音
虚拟
将物理上的实体变为逻辑上的对应物 前者真实存在,后者只是用户的感觉
一个程序需要加载进入内存并且分配cpu才可以执行
例如,如果我的电脑是单核cpu,我仍然可以打开以上5个程序。一个程序分配一个cpu,物理上的实体,电脑只有1个cpu,逻辑上我感觉应该有5个cpu在为我服务。
异步性
- 程序执行的结果不可知:在有网的时候可以打开腾讯视频内的资源,没有网的时候腾讯视频内资源加载不出来
- 多道程序环境下,程序的执行按照异步方式执行,即每一个程序在何时执行未可知,多个程序的执行顺序和每一个程序的执行完成所需要的时间也不确定
特性之间的联系
并发和共享是操作系统的两个最基本的特征,二者之间互为存在条件
虚拟性以并发和共享为前提
异步性是并发和共享的必然结果
操作系统的运行机制和体系结构
指令就是机器可以识别的二进制语言
运行机制
1、两种指令
输入指令,cpu识别指令,就可以进行数据和信息的处理
但是有的指令也很危险,例如内存清零指令,一旦执行,内存的所有信息将无法恢复,所以指令分为两类:
cpu会识别指令的类别,不允许执行特权指令。但是如果我们非要执行特权指令呢?
2、cpu也会划分为两种状态:
3、两种程序
有的程序可以直接删除,有的程序只有管理员状态才可以删除
操作系统的内核
我们在裸机上安装好了操作系统,这台计算机就可以正常使用了。会发现操作系统会提供很多功能,这些功能有的必须存在,有的可以不存在
内核是最接近硬件的部分,是操作系统中最重要的部分
内核包含的是和硬件紧密相接的功能,便于保护这些软件并提高操作系统的运行效率
不同类型和规模的操作系统,对内核的分类有所不同
操作系统的体系结构
大内核和微内核
微内核应该有哪些功能是不确定的,但是一般包括
中断和异常
中断机制实现多道程序的并发控制
1、当中断发生时,cpu进入核心态
用户态转化为核心态,仅且只能通过中断
2、中断产生后,当前进程暂停运行,操作系统的内核会处理中断
中断的分类
系统调用
应用程序通过系统调用来获取系统资源
系统的各种共享资源都由操作系统统一管理。因此在用户程序中各种获取系统资源的指令,都必须通过系统调用的方式来请求资源,由操作系统代为执行。这样可以保证系统的安全性
系统调用处于核心态