我们为什么需要操作系统(Operating System)?
我们为什么需要操作系统(Operating System)?
a) 从计算机体系的角度,OS向下统筹了所有硬件资源(1),向上为所有软件提供API调用(2),使得软件程序员不必知晓硬件的具体细节,实现了计算机体系的分层;

b) 从资源管理的角度,OS对有限的计算资源进行分配(3),是软件按照“某种理想的状态序列”运行(4),以获得“性能与用户体验上的最优解”(5)。
带来的一些问题:
1> OS怎么统筹硬件资源?
答:暂时不知道,但肯定具有统一的协议.
2> OS 与 OS之间怎么统一API,使得软件具有可移植性?
答:POSIX协议.
3> 为什么要分配计算资源,而不是每个程序直接执行即可?
答:合理地分配计算资源,可以更高效地完成任务;
3.1> 怎么分配计算资源?
答:首先要对计算资源进行虚拟化,其次是其次;
3.2> 什么叫资源的虚拟化?
答:就是将物理资源转换为更通用、更easy to use 的虚拟形式【建立抽象层】,这也是我们为什么要对资源进行虚拟化的原因。
4/5> 什么叫软件的“理想的状态序列”?
答:我们希望当很多软件按照这个“理想的状态序列”运行的时候,能够兼顾高性能与用户体验;
4.1> 怎么得到“理想的状态序列”?
答:通过OS的进程调度算法(这是我接下来会鸽的话题);
5> 什么叫高性能?什么叫用户体验?
答:高性能定义为一些作业从开始到结束的平均时间,时间越短,性能越高(好学术啊),总之同样的作业,完成的越快性能越高嘛;用户体验的话,比如你开始一个作业,却因为前面有作业正在占用计算资源,你的作业迟迟得不到回应,你肯定很急,但不考虑用户体验的OS只告诉你先别急;
5.1> 一定要兼顾么?不能只取其一么?
答:可以,具体看应用场景的需求。
总结一下,操作系统的目的之一是:在所有资源受控的情况下,为一些用户提供提供高性能与高体验的服务。
// 爆肝更新cpu虚拟化部分中…
我们为什么需要操作系统(Operating System)?的更多相关文章
- [No000035]操作系统Operating System之OS Interface操作系统接口
接口(Interface) 仍然从常识开始… 日常生活中有很多接口:电源插座:汽车油门… 那什么是接口? 连接两个东西.信号转换.屏蔽细节… Interface: electrical circuit ...
- VMware安装操作系统(Operating System not found一个错误原因)
因为指定的IOS文件是多种操作系统的组合,如Win7(32位和64位完全版),那么安装的时候选择一个操作系统类型和ios文件的类型就匹配不上,所以出现这种错误.
- 计算机四级网络工程师--《操作系统(Operating System)》重点内容学习
开篇语 今天开始看<操作系统>,没办法,计算机网络技术还算有点底子.至于操作系统要不是以前看过一些这方面的书籍,以及上学期学了单片机工作原理,我估计我真的是懵逼的!所幸,在网上找的233网 ...
- 快速了解 Robot Operating System(ROS) 机器人操作系统
http://www.ros.org/ 关于ROS About ROS http://www.ros.org/about-ros/ 机器人操作系统(ROS)是用于编写机器人软件的灵活框架.目的在简化 ...
- China Operating System 电脑操作系统 2016全球互联网排名
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 电脑操作系统 China Operating System 2016全球互联网排名 == ...
- 操作系统(Operating System,OS)
操作系统(Operating System,OS) 是配置在计算机硬件上的第一层软件,是对计算机硬件系统的首次扩充,是一个计算机系统最基础,也是最重要的系统软件. 操作系统的作用 1 实现对计算机资源 ...
- SI - 系统 - 操作系统简述 (Operating System)
Unix 操作系统:System V.BSD Microsoft Windows Apple Mac OS Linux FreeBSD 安装 https://jingyan.baidu.com/art ...
- CREATE FILE encountered operating system error 5(Access is denied.)
这篇博文主要演示"CREATE FILE encountered operating system error 5(Access is denied.)"错误如出现的原因(当然只是 ...
- Linux启动报错missing operating system
用UltraISO制作了一个Red Hat Enterprise Linux Server release 5.7系统的U盘启动盘,然后在一台PC上安装,由于安装过程中在干别的事情,有些选项没有细看. ...
- u盘安装CENTOS后,启动missing operating system ,只能用U盘才能启动系统
好久之前就想把家里闲置的那台老的不能再老的笔记本换成linux的,用来学习 从N久之前用光盘安装的时候发现光驱坏掉了之后就没有再装过,最近又想安装于是就试了U盘安装 U盘安装过程也很简单,只需要制作一 ...
随机推荐
- vscode 自定义 当前行转大写快捷键 alt + shift + U
vscode 自定义 当前行转大写快捷键 alt + shift + U
- vscode 注释后 光标下移(注释后光标快速定位下一行) 仿照idea
VSCode 注释后光标快速定位下一行 1. 安装插件 Multi-command Multi-command 2.打开 Keybinding.json Keybinding.json 左下角齿轮图标 ...
- base64 转文件上传
// 将base64转换为blob dataURLtoBlob (dataurl) { let arr = dataurl.split(',') let mime = arr[0].match(/:( ...
- vxe table columns 要用data里的值,用computed的值会导致排序部分不好用。
vxe table columns 要用data里的值,用computed的值会导致排序部分不好用.
- SpringBoot单次执行任务,退出异常NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy
背景 使用SpringBoot 运行一次性作业,用于初始化 问题:直接使用System.exit退出时,遇到异常:NoClassDefFoundError: ch/qos/logback/classi ...
- C++学习笔记之高级语法
目录 高级语法 面向对象--类 对象的属性 运算符重载 拷贝构造函数 IO缓存 头文件的重复包含问题 深拷贝与浅拷贝 面向对象三大特性 高级语法 面向对象--类 C++使用struct.class来定 ...
- 【线段树】【leetcode 729. 我的日程安排表 I】
class MyCalendar { class Seg { int l; int r; boolean val; Seg left; Seg right; public Seg(int x, int ...
- Spring Boot学习日记3
学习了创建项目的几个重要核心步骤 1.创建一个新项目 2.选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现 3.填写项目信息 4.选择初始化的组件(初学勾选 We ...
- (1)Python基础的一些教学资料和视频
Python相关的一些书籍 链接: https://pan.baidu.com/s/1uVT_xQRShxsw2gRhjJhikA 密码: 5fgi Python的相关进阶课程 链接: https:/ ...
- MySQL(单表查询、多表查询、Navicat软件使用、查询练习、pymysql模块)
一 单表操作 表准备和注意事项 create table employee( id int not null unique auto_increment, name varchar(20) not n ...