文档章节

linux-1调用流程(仅个人随笔哈)

AnSn
 AnSn
发布于 2017/08/29 19:07
字数 974
阅读 5
收藏 0

0)计算机核心部分是运算器、控制器,内存
1)程序必须从磁盘中加载到内存(RAM)才能运行。而磁盘是属于外围设设备,这点要区别于内存。
    内存包括:RAM、ROM。ROM是存储设备驱动命令的,被固化而只能读不能写。它被映射到RAM中(硬件逻辑完成的),
    所有的外围设备才能正常运行。而RAM是存储一般命令和数据的,能写能读命令进去,CPU所有的操作一般指对RAM而不是ROM。
2)程序由指令和数据组成。计算机中必须把所有的指令和数据转换成二进制才能被识别,原因:运算器是硬件,被电驱动,只分
    有电和无电,无电表示0,有电表示1。所以存于磁盘上的数据能被计算机识别的只有二进制。
    磁盘具有记忆功能,每个磁盘有很多的磁道,并把磁道上的磁能转换成电能,这些电能信息被输出来供计算等机(尤指运算器)使用。
3)为简化运算器的数据线,实行一批数据线的分时复用,使得运算器的操作在不同时刻代表不同的含义。
    一个运算器要完成一个功能(有多条指令组成),在总线分时复用前提下,需要用到一个暂存器(缓存器)暂时性记录数据,
    也叫寄存器,等数据和指令提取完成运算器就能同时综合这些信息共同完成一个功能,得出的结果在控制器的指示下
    存放于内存中。
    注意:内存不只是存储指令,还存储数据。他们都在控制器的指示下被分配到内存编址好了的某个单元空间中。
4)指令表示有不同含义的命令(如表示加数、被加数、加法运算符的命令),控制器告诉运算器执
    行命令的运算顺序,然后依据命令顺序从内存中取出数据供运算器运算,从而实现程序的最终功能。
5)内存是存储很多个编址的存储单元,而且每个小单元上有唯一的编址,可代表存放的是指令还是数据。
------------------------------------------------------------------------------------------------------------------
上面所说的内存都是指是RAM存储器,还有一个存储器叫ROM存储器,它的用途是只存贮用于驱动起这个计算机所有设备
(键盘,磁盘,鼠标)的命令,这些被存放于ROM的命令被映射到内存(RAM)中,运算器再通过控制器的调度来找到内存(RAM)
中的这些设备命令并执行他们,从而实现一开机鼠标,键盘,磁盘设备都能正常工作了。
    有个小细节就是:运算器每N秒就访问内存(RAM)一次,以此来扫描是否键盘,鼠标,磁盘等外围设备有没有被用户(指人)
    操作到,有就执行相应命令来响应外围设备。这是早期计算机的工作方法-->改进方式是:用户通过外围设备输入信息,
    此信息附带一个信号表示CPU有指令执行了,它放于一个空间中(叫做中断响应空间),CPU收到响应可能执行对应信息
    的命令也可能不执行,这点CPU在行为上是处于主动位置的,而早期CPU必须每隔短暂时间就去访问一次内存看看是否有
    命令操作(尤指外围设备是否有输入)从而执行对应命令,此时CPU是很被动的,效率及其低下。
-------------------------------------------------------------------------------------------------------------------
 

© 著作权归作者所有

共有 人打赏支持
AnSn
粉丝 1
博文 6
码字总数 2834
作品 0
贵港
其他
私信 提问
随笔之Android平台上的进程调度探讨

随笔之Android平台上的进程调度探讨 一由来 最近在翻阅MediaProvider的时候,突然想起之前碰到的⼀个 问题,该问题是这样的: 一个Pad上有很多媒体文件,然后每次开机后的⼀段时间 内,Home ...

庸人谷
2012/12/04
0
0
写博客的好处--摘自大棚Linux

你觉得自己懂了未必真的懂了。写作是自我反省,自我提升的一个过程。 2. 让别人懂才是真的懂。写作是强迫你给别人讲懂知识。 3. 看似浪费时间,实则节省时间。知识总会遗忘,实验证实阅读自己...

aust_niuroutan
04/20
0
0
哈,招c学徒。。。(南京)

哈,为什么说学徒,而不是c程序员,简单理由如下: 团队这边自行构建c的开发环境也存在自身的开发要求,这和团队的开发目标及发展策略有关。例如,所有模块必须仅使用一种接口如下: _i32 m...

中山野鬼
2014/07/28
7.6K
82
Linux Kernel 4.1.12 LTS发布

在公布且开放Linux Kernel 4.2.5版本下载之后,Linux核心开发者葛雷格·科罗哈曼(Greg Kroah-Hartman)向Linux用户分享了Linux Kernel 4.1 LTS的第12个维护版本。作为长期支持分支,Linux K...

Foundation
2015/10/29
0
0
哈,大家谈下freebsd 和linux吧。。。

我个人越来越倾向,面向服务器应用系统的开发,还是基于freebsd的好。除非你把服务器当某某工具,天天想玩新花样。哈,顺带吐槽一句,基于linux内核的操作系统版本实在太多了。。。妹的,这算...

中山野鬼
2015/02/16
4.4K
30

没有更多内容

加载失败,请刷新页面

加载更多

程序中设置MySQL的默认值

import com.alibaba.fastjson.JSON;import java.beans.PropertyDescriptor;import java.lang.annotation.*;import java.lang.reflect.Field;import java.lang.reflect.Method;impo......

laolin23
27分钟前
2
0
WordPress没有上级目录的写权限

sudo chmod -R 777 wordpress/wp-content

临江仙卜算子
35分钟前
4
0
大数据学习之大数据技术笔记—spring入门

篇一 spring介绍 spring.io 官网 快速开始 Aop 面向切面编程,可以任何位置,并且可以细致到方法上 连接框架与框架 Spring 就是 IOC AOP 思想 有效的组织中间层对象一般都是切入 service 层 ...

董黎明
36分钟前
5
0
ASP.NET Core MVC 静态文件配置

在启动文件中添加以下配置 public class Startup{ public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddDirectoryBrowser(); ......

whltian
今天
2
0
linux之自定义命令

本人使用的是ubuntu系统,不喜欢建各种桌面快捷链接,但是每次启动个软件,去查找又麻烦,所以自定义了命令,来快捷的启动应用: 1、修改/etc/bash.bashrc,在文件末尾,加上如下List-1中的内...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部