计算机操作系统——操作系统概述
1.操作系统概述
1.1 操作系统的概念
操作系统
:控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,是计算机中最基本的系统软件。
从整体看,操作系统处于硬件与软件之间,是用户与硬件之间的接口,负责管理协调硬件、软件等计算机资源的
从下往上看,操作系统是为上层的应用软件、用户提供简单易用的服务
从上往下看,操作系统最接近硬件,它是系统软件,而不是硬件,用于拓展功能
举个例子:
1.2 操作系统的功能和目标
1.2.1 管理系统资源方面
功能
:
- 处理机管理(CPU管理)
- 存储器管理
- 文件管理
- 设备管理
目标
:安全、高效
1.2.2 作为用户和硬件之间的接口
功能
:
- 命令接口
- 联机命令接口——逐条处理
- 脱机命令接口——批处理
- 程序接口——用户通过程序间接使用,由一组系统调用组成,在程序中调用*.dll(调用过程即为系统调用)
- GUI——直接在图形界面进行操作,不需要记忆复杂的命令以及参数
目标
:方便用户使用
联机命令接口示例:
脱机命令接口示例:批处理文件(*.bat)
1.2.3 作为最接近硬件的层次
功能
:实现对硬件机器的拓展
封装
1.3 操作系统的特征
1.3.1 并发
并发:两个事件或多个事件在同一时间间隔内发生。这些事件宏观上同时发生,微观上交替发生。
并行:两个或多个事件在同一时刻发生,宏观与微观都是同时发生。
操作系统的并发性指计算机系统中同时存在多个运行的程序。
1.3.2 共享
共享:系统中的资源可以让多个并发执行的进程共同使用。
互斥共享方式:一个时间段内只允许一个进程使用资源
同时共享方式:一个时间段允许多个进程“同时(交替)”进行访问
1.3.3 虚拟
虚拟:将一个物理上的实体变为若干个逻辑上的对应物,物理实体是实际存在的,但逻辑对应物则是用户感受到的。
1.3.4 异步
异步:由于资源的限制,进程的执行不具有连续性,而是走走停停,以不可预知的速度执行程序。
1.3.5 四个特征的关联性
- 并发和共享互为存在条件
- 如果失去并发性,则系统中只有一个进程,共享性失去存在的意义
- 如果失去共享性,则多个进程不能同时访问资源,并发也就没有意义
- 并发和共享为虚拟和异步的基本条件
1.4 操作系统发展
1.4.1 手工操作阶段
缺点:用户独占全机、人机速度矛盾,资源利用率极低
1.4.2. 批处理阶段
单道批处理系统
引入脱机输入/输出技术,并监督程序负责控制作业的输入输出
优点:缓解了一定程度的速度矛盾,资源利用率有所提升
缺点:资源利用率仍然很低
多道批处理系统
优点:多道程序并发执行,资源利用率大幅度提升
缺点:缺乏人机交互功能,不能控制自己的作业执行
两种批处理系统对比
1.4.3 分时操作系统
给每一个用户分配时间用于处理任务,各个用户可以通过终端与计算机进行交互
优点:解决了人机交互问题,可以即使响应一些用户请求。
缺点:不能优先处理一些紧急任务。
1.4.4 实时操作系统
优点:能够优先响应一些紧急任务。
硬实时系统:必须在严格的规定时间内完成处理
软实时系统:能够接受偶尔违反规定
1.4.5 其他操作系统
1.5 运行体制和体系结构
1.5.1 运行体制
两种指令
:
- 特权指令——特殊的指令(清零指令)
- 非特权指令——普通的加法指令
两种处理器状态
:
- 核心态——可以执行两种指令
- 用户态——只能执行非特权指令
两种程序
:
- 内核程序——系统的管理者,可以执行两种指令,运行在核心态上
- 用户程序——只能执行非特权指令,运行在用户态上。
1.5.2 系统内核
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。
实现操作系统内核功能的程序就是内核程序。
1.5.3 操作系统的体系结构
大内核
:将操作系统的主要功能模块都作为系统内核,运行在核心态
优点:高性能
缺点:内核代码庞大, 结构混乱,难以维护
微内核
:只把最基本的功能保留在内核
优点:内核功能少、结构清晰、方便维护
缺点:需要频繁地在核心态和用户态之间切换,性能低
1.6 中断和异常
1.6.1 中断的诞生
起因
:各程序只能串行执行,系统资源利用率低
本质
:发生中断意味着需要操作系统介入,开展管理工作
1.6.2 中断的概念和作用
- 当中断发生时,CPU立即进入核心态
- 同时,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
- 对于不同的中断信号,会进行不同的处理
中断使得CPU从用户态切换为和形态,让操作系统获得计算机的控制权
1.6.3 中断的分类
1.7 系统调用和库函数
1.7.1 系统调用
保证系统的稳定性和安全性,防止用户进行非法操作
分类:
- 设备管理——完成设备的 请求/释放/启动 等功能
- 文件管理——完成文件的 读/写/创建/删除 等功能
- 进程控制——完成进程的 创建/撤消/阻塞/唤醒 等功能
- 进程通信——完成进程之间的 消息传递/信号传递 等功能
- 内存管理——完成内存的 分配/回收功能
1.7.2 系统调用与库函数区别
- 系统调用时库函数向上层提供的接口
- 有的库函数是对系统调用的进一步封装
- 大部分应用程序都是通过高级语言提供的库函数间接的进行系统调用
1.7.3 系统调用过程
- 传递系统调用参数
- 执行陷入指令(从用户态转到核心态)
- 执行系统调用相应服务程序
- 返回用户程序
系统调用发生在用户态,对系统调用的处理发生在核心态
计算机操作系统——操作系统概述相关推荐
- 计算机操作系统-操作系统概述
文章目录 什么是操作系统 操作系统的定义 计算机系统资源的管理者 实现对计算机资源的抽象 操作系统的特征 并发性 共享性 虚拟 异步 操作系统的发展过程和分类 未配置操作系统的计算机系统 人工操作方式 ...
- 【操作系统】面向真题学操作系统 —— 操作系统概述客观题
文章目录 1)前言 2)正文 2.1)看完文档总结的思维导图 2.2)横扫试题 2.2.1)代表性试题讲解 ① 操作系统的基本认识 ② 并发和并行 ③ 系统调用 ④ 操作系统分类与发展 ⑤ 操作系统的 ...
- 408 操作系统 操作系统概述
目录 一.操作系统的目标与功能 二.略 三.操作系统的运行环境 用户态和内核态 系统调用 中断和异常 欢迎指正提问,谢谢!!! 第 1 章 计算机系统概述 [考纲内容] (一)操作系统的概念.特征 ...
- 操作系统|操作系统概述
什么是操作系统? 操作系统(Operating System,OS)是控制应用程序执行和充当硬件系统和应用程序之间的界面的软件. 操作系统的目标 方便性.有效性.可扩充性.开放性. 操作系统的作用 O ...
- 自考准备 - 02326 操作系统 - 操作系统概述(Day003)
1. 操作系统是计算机资源的管理者 2. 操作系统通过接口为用户提供各种服务 3. 操作系统是虚拟机和扩展的机器 内容扩展: 计算机系统是一种按用户的要求接收和存储信息.自动进行数据处理并输出结果的信 ...
- 初入操作系统——操作系统概述
目 录 什么是操作系统 操作系统的功能: 操作系统层次结构 操作系统的特征 操作系统的历史 多道批处理特点 分时系统 操作系统的结构 什么是操作系统 操作系统的功能: 用户角度上 操作系统是一个控制软 ...
- 计算机考研408 - 操作系统 - 核心知识点总结 - 第一章操作系统概述(23考研408大纲)
操作系统概述 (结合王道知识点/课后习题/真题总结而来,概念选择题为主) 1.操作系统的分类 1)批处理操作系统:作业成批处理,交互能力较差 2)分时操作系统:主要使用时间片轮转调度算法,进行进程/作 ...
- 非零基础自学计算机操作系统 第1章 操作系统概述 习题一
非零基础自学计算机操作系统 第1章 操作系统概述 习题一 [1]什么是操作系统?操作系统有哪些特性? 答:操作系统是管理计算机硬件与软件资源的计算机程序,它的主要特性有并发性.易用性.稳定性和异步性. ...
- 非零基础自学计算机操作系统 第1章 操作系统概述 1.4 操作系统的分类 1.4.1 多道批处理操作系统 1.4.2 分时操作系统
非零基础自学计算机操作系统 文章目录 非零基础自学计算机操作系统 第1章 操作系统概述 1.4 操作系统的分类 1.4.1 多道批处理操作系统 1.4.2 分时操作系统 第1章 操作系统概述 1.4 ...
最新文章
- 挖矿的电费自由日——矿工为何每个月总有那么几十天闷闷不乐
- FPGA设计心得(5)Aurora 例子工程分析与仿真实例分析(streaming版)
- node.js学习笔记
- ebs和java哪个前景好_EBS与实例存储的好处(反之亦然)[关闭]
- Spring boot中最大连接数、最大线程数与最大等待数在生产中的异常场景
- 了解ADF生命周期中的ADF绑定
- datetimepicker获取年月日_bootstrap-datetimepicker 获取时间
- pc网站支付html,jsp 支付宝pc网页支付
- mysql 21天_把整个Mysql拆分成21天,轻松掌握,搞定(中)
- 信息系统项目管理师---第八章项目质量管理历年考题
- Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比
- 华为交换机ntp自动校时配置
- python机器学习实战 getA()函数详解
- sql语句的字段升序排列
- Hbase(3):HBase常用shell
- coreldrawX6实例视频教程
- Vulkan再探(12):输入附件
- ASP.NET点餐系统源码(电脑手机通用)源代码分享
- 微信小程序尺子样式滚动选择器组件
- 使用Django制作的简陋数据库
热门文章
- 细胞生物学-3-细胞质膜
- 云台控制协议VISCA、PELCO-D、PELCO-P
- UltraEdit v18.0 破解版注册机
- JS保存数据到本地文件(普通文件和excel文件)——普通文件使用blob实现(excel自己写格式)——代码详解
- 用win7的NT6引导Ubuntu12.04手动设置方法和错误修复
- 计算机网络设备安装检验批,智能建筑工程分为哪些子分部工程与分项工程
- 栈、波兰表达式、逆波兰表达式
- 四轴飞行器入门——基础知识
- [黑马程序员课程记录]C++核心部分5
- 【显示技术 - 视频编码】硬件加速 - 对接FFMPEG框架的H.265编码