文档章节

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

AnSn
 AnSn
发布于 2017/08/29 19:07
字数 974
阅读 3
收藏 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
手把手教你怎么写jQuery插件

[原创作品]手把手教你怎么写jQuery插件   这次随笔,向大家介绍如何编写jQuery插件。啰嗦一下,很希望各位IT界的‘攻城狮’们能和大家一起分享,一起成长。点击左边我头像下边的“加入qq群...

什么是程序员
2015/07/08
0
2
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
linux login shell 配置文件读取流程

介绍配置文件之前,先介绍两个概念:login shell、no-login shell login shell 取得 bash 时要完整的登录流程。 no-login shell 取得 bash 接口时不需要重复的登录动作。如在 X Window 下登录...

Jerry_Baby
2013/11/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 到底谁是小公猫……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Trivium的单曲《Throes Of Perdition》 《Throes Of Perdition》- Trivium 手机党少年们想听歌,请使劲儿戳(这里) @小鱼丁:...

小小编辑
43分钟前
68
1
基础选择器

注意:本教程参考自网上流传的李兴华老师的jquery开发框架视频,但是苦于没有相应的配套笔记,由我本人做了相应的整理. 本次学习的内容 学习jquery提供的各种选择器的使用,掌握了jquery选择...

江戸川
49分钟前
1
0
Spring中static变量不能@value注入的原因

今天本想使用@Value的方式使类中的变量获得yml文件中的配置值,然而一直失败,获得的一直为null。 类似于这样写的。 public class RedisShardedPool { private static ShardedJedisPool pool...

钟然千落
今天
2
0
CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部