操作系统之CPU管理的直观想法
计算机:是工具,帮助解决实际问题
操作系统,是为了方便使用硬件
计算机模型: 图灵机,模拟人类计算 起初的图灵机就像一个只会做一道菜的厨师
通用图灵机,核心是设置控制器动作(修改控制器),把逻辑读入控制器,把程序载进来,解释执行程序
程序→内存→控制器解释执行→输出结果
用一个IP(PC)指针指向它,取指执行
BIOS:基本输入输出系统
上机后先检查RAM,键盘,显示器,软盘和硬盘, CS:(段寄存器):0XFFFF, 左移四位+IP, IP:(偏移寄存器)0X0000
计算机开机时,从0扇道0扇区(又叫引导扇区),读入0x7c00处 ,一个扇区512个字节
批处理:做完一件事再去做下一件,中间可能会停下来等待
多道程序:多个程序同时出现在计算机中,交替向前进(从这就 开始逐渐引出进程的概念)
分时系统:使用认数增加,一个人可能不停止命令,独占资源,其余人就没办法使用,使用效果差,在服务器上很常见,从而有了分时系统,一个人使用一段时间,就切给另一个人,以前是实在不行再切出去
操作系统要让多个程序合理推进,这就是进程管理
多程序图谱:包括CPU和内存
文件操作视图:方便用户使用,包括:IO设备,磁盘,文件
操作系统管理CPU,引出多进程,管理CPU,就要先使用CPU
CPU工作原理:程序存放在内存中,设置一个地址(假设为50),CPU发出取指指令,先前假设存放在内存中50,内存中50这条指令传回CPU,CPU得到指令,解释执行,CPU会自动取出下一条,继续解释执行
CPU只要给PC设置一个初始值,就会不断地自动取指执行
管理CPU最直观的方法,设好PC的初值,把PC 的初值设为程序的开始地址
IO指令非常慢,要移动磁臂,是机械操作,计算指令快,都是电路,这就引出了CPU的利用率,若每隔几条计算指令就有一条IO指令,CPU就要等待(不可以跳过,可能后续指令要用IO输入的数据),这样CPU效率就不高
通常的办法是设置PC,进行切换,先切出去,过会儿再切回来,但是要记录信息,程序执行到哪里,执行的样子,这些都放在PCB中,如同在看书时,有人敲门,起身开完门后,回来看书不可能再从头开始,脑中肯定也还有印象
这就是并发:同时出发,交替执行。多个程序都放在内存中,一个CPU上交替执行多个程序
操作系统之CPU管理的直观想法的更多相关文章
- 操作系统-CPU管理的直观想法
1. 管理CPU,先要使用CPU 管理CPU的最直观方法 2. 提出问题 有IO指令执行的特别慢,当cpu执行计算指令很快,遇到IO指令cpu进行等待,利用率不高. 使用多道程序.交替执行,这样cpu ...
- 操作系统学习笔记4 | CPU管理 && 多进程图像
操作系统的核心功能就是管理计算机硬件,而CPU就是计算机中最核心的硬件.而通过学习笔记3的简史回顾,操作系统通过多进程图像实现对CPU的管理.所以多进程图像是操作系统的核心图像. 参考资料: 课程:哈 ...
- 系统内存和CPU管理、监控
本博文的主要内容有 .系统内存管理.监控:vmstat和free -mt .系统CPU管理.监控:sar -u.mpstat.uptime linux系统内存和CPU是在系统运行的过程中不断消耗的资源 ...
- Thread.Sleep(0)的意义 操作系统中CPU的竞争策略
在线程的学习中遇到的 不太明白就搜了一下 有一篇觉得写得很好的分享一下 转载:http://www.360doc.com/content/12/1220/07/1054746_255212714.s ...
- 操作系统切换CPU的方式
操作系统切换CPU的方式 1 IO等待切换. 2 时间轮询切换,也就是如果没有IO等待的情况下,就会有时间轮询切换,不让CPU一直处理一个任务 CPU的处理速度是纳秒级别的,所有我们可以同时听歌, ...
- 批量ssh登录,获取操作系统、CPU、内存、硬盘信息<shell>
说明:该脚本读取machine.txt文件中的机器名,然后批量ssh登录,获取每台机器的操作系统,CPU,内存,硬盘等信息. 使用方法:将文件保存为sh,chmod +x filename 为该sh文 ...
- 操作系统管理CPU的直观想法
CPU的工作原理 要想管理CPU,就要先学会如何使用CPU.我们先从一个程序的执行来看看CPU是如何工作的. void main(){ int i , sum; ; i < ; i++){ su ...
- 操作系统 | 结合 CPU 理解一行 Java 代码是怎么执行的
根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器.控制器.存储设备,以及输入输出设备,如下图所示. 我们先来分析 CPU 的工作原理,现代 CPU 芯片中大都集成了,控制单元,运算单 ...
- 操作系统之IO管理
IO系统结构 设备的分类 按数据组织分 块设备: 信息的存取总是以数据块为单位. 它属于有结构设备,如磁盘等. 磁盘设备的基本特征是传输速率较高,以及可寻址,即对它可随机地读/写任一块. 字符设备: ...
随机推荐
- 使用Flash Media Server(FMS)录制mp4格式的视频
最近在做一个有关视频直播和点播的项目,客户的一个需求就是可以控制对直播流的录制,直播的实现采用的是Adobe的Flash Media Server,具体方式就是:视频采集端采集视频并编码->rt ...
- React开发调试工具--react-developer-tools
1. 首先,下载react-developer-tools开发调试工具插件. 因为谷歌插件下载需要FQ,这里提供一个本地资源:https://www.crx4chrome.com/crx/3068/ ...
- mongodb突然出现一些特别奇葩的事
mongo突然出现一些奇葩的事,如数据都还在,但某个命令敲下去了.啥东西都没有返回给我们. 往往这个时候特别的郁闷,找不出问题所在. 不用太担心,看看版本,多半是mongo的版本太老了,有些命令已经过 ...
- pandas 常用清洗数据(三)排序,去重
1.排序 DataFrame 按照Index排序 Series.order()进行排序,而DataFrame则用sort或者sort_index或者sort_values 2.去重, dt = dt. ...
- ssh架构之hibernate(五)hql语句狂练
1.练习题 1.查询所有商品的名称[查询特定属性](只有一个参数的话可以使用List<String>接收数据)2.查询所有商品的名称和供应商[查询特定属性](多个参数可以使用List< ...
- 安装好kali要做的事
更换更新源 vim /etc/apt/sources.list #中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free c ...
- JMeter学习(十)参数化User Defined Variables与User Parameters(转载)
转载自 http://www.cnblogs.com/yangxia-test 偶然发现JMeter中有两个元件(User Defined Variables与User Parameters)很相近, ...
- mysql5.7.20更改root密码
my.cnf 中在[mysqld]下面增加 skip-grant-tables 使用空密码登录数据库执行下面命令 update mysql.user set authentication_string ...
- 数据存储 共享参数 SharedPreferences
先要声明文件名和操作方式,第一个参数:文件名为"share.xml",第二个参数:私有模式SharedPreferences shared = getSharedPreferenc ...
- oracle 修改数据精度问题
今天,在建表后插入语句时,报了这样的错误,对于这样的错误,搜集了一些资料,进行了总结如下: 建表语句: 1 2 3 4 5 6 7 8 9 create table pre_info( pre_cod ...