计算机:是工具,帮助解决实际问题

操作系统,是为了方便使用硬件

计算机模型: 图灵机,模拟人类计算 起初的图灵机就像一个只会做一道菜的厨师

通用图灵机,核心是设置控制器动作(修改控制器),把逻辑读入控制器,把程序载进来,解释执行程序

        程序→内存→控制器解释执行→输出结果

         用一个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管理的直观想法的更多相关文章

  1. 操作系统-CPU管理的直观想法

    1. 管理CPU,先要使用CPU 管理CPU的最直观方法 2. 提出问题 有IO指令执行的特别慢,当cpu执行计算指令很快,遇到IO指令cpu进行等待,利用率不高. 使用多道程序.交替执行,这样cpu ...

  2. 操作系统学习笔记4 | CPU管理 && 多进程图像

    操作系统的核心功能就是管理计算机硬件,而CPU就是计算机中最核心的硬件.而通过学习笔记3的简史回顾,操作系统通过多进程图像实现对CPU的管理.所以多进程图像是操作系统的核心图像. 参考资料: 课程:哈 ...

  3. 系统内存和CPU管理、监控

    本博文的主要内容有 .系统内存管理.监控:vmstat和free -mt .系统CPU管理.监控:sar -u.mpstat.uptime linux系统内存和CPU是在系统运行的过程中不断消耗的资源 ...

  4. Thread.Sleep(0)的意义 操作系统中CPU的竞争策略

    在线程的学习中遇到的 不太明白就搜了一下  有一篇觉得写得很好的分享一下 转载:http://www.360doc.com/content/12/1220/07/1054746_255212714.s ...

  5. 操作系统切换CPU的方式

    操作系统切换CPU的方式 1 IO等待切换. 2 时间轮询切换,也就是如果没有IO等待的情况下,就会有时间轮询切换,不让CPU一直处理一个任务   CPU的处理速度是纳秒级别的,所有我们可以同时听歌, ...

  6. 批量ssh登录,获取操作系统、CPU、内存、硬盘信息<shell>

    说明:该脚本读取machine.txt文件中的机器名,然后批量ssh登录,获取每台机器的操作系统,CPU,内存,硬盘等信息. 使用方法:将文件保存为sh,chmod +x filename 为该sh文 ...

  7. 操作系统管理CPU的直观想法

    CPU的工作原理 要想管理CPU,就要先学会如何使用CPU.我们先从一个程序的执行来看看CPU是如何工作的. void main(){ int i , sum; ; i < ; i++){ su ...

  8. 操作系统 | 结合 CPU 理解一行 Java 代码是怎么执行的

    根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器.控制器.存储设备,以及输入输出设备,如下图所示. 我们先来分析 CPU 的工作原理,现代 CPU 芯片中大都集成了,控制单元,运算单 ...

  9. 操作系统之IO管理

    IO系统结构 设备的分类 按数据组织分 块设备: 信息的存取总是以数据块为单位. 它属于有结构设备,如磁盘等. 磁盘设备的基本特征是传输速率较高,以及可寻址,即对它可随机地读/写任一块. 字符设备: ...

随机推荐

  1. Hibernate 再接触 组件映射

    将另外一个类嵌入到另外一个类 从而合并生成一张表 Husband.java package com.bjsxt.hibernate; import javax.persistence.Embedded ...

  2. Hibernate学习笔记2.2(Hibernate基础Annotation配置)

    如果数据库表名与类名不一致 可以用使用 @Table(name="_teacher") 来指定表名,没有就会自己创建 也可以在配置文件上修改 为class添加table属性 如果什 ...

  3. hive\hadoop 常用命令

    —1—————— 后台跑程序语句: 在shell下输入: nohup hive -f  aaa.sql >bbb.log 2>&1 & 然后把sql 的脚本导入服务器上:T ...

  4. Ubuntu中清理Network下Connect to Server的入口

    转自:http://blog.csdn.net/maxilbert/article/details/51126467 connect to server入口列表文件以xml格式存放在 ~/.confi ...

  5. yii2.0 手动配置redis

    手动安装yii2.0-redis扩展 1.点击下载:yii2.0-redis扩展 2.把下载的扩展文件放到vendor/yiisoft/下,命名为yii2-redis 3.修改vender/yiiso ...

  6. idea 修改 使用的git账号

    打开控制面板-->用户账户-->凭证管理器 如下图点击进入,删除原有的账号 当在idea中再提交或下载代码时,就会弹出如下提示框: 重新输入你自己的账号就可以了.

  7. JDK8中JVM堆内存划分

    一:JVM中内存 JVM中内存通常划分为两个部分,分别为堆内存与栈内存,栈内存主要用运行线程方法 存放本地暂时变量与线程中方法运行时候须要的引用对象地址. JVM全部的对象信息都 存放在堆内存中.相比 ...

  8. cakephp2.7的学习笔记1 —— 安装与配置

    CakePHP2.7的安装 下载 https://github.com/cakephp/cakephp/releases 解压后扔进你的www目录就可以直接访问 按照提示,修改这两项配置,替换成你喜欢 ...

  9. JMeter学习(三)元件的作用域与执行顺序(转载)

    转载自 http://www.cnblogs.com/yangxia-test 1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它 ...

  10. Pandas基本功能之层次化索引及层次化汇总

    层次化索引 层次化也就是在一个轴上拥有多个索引级别 Series的层次化索引 data=Series(np.random.randn(10),index=[ ['a','a','a','b','b', ...