LINUX内核分析第一周学习总结——计算机是如何工作的

LINUX内核分析第一周学习总结——计算机是如何工作的

张忻(原创作品转载请注明出处)

《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

一、汇编代码的工作过程

1、实验过程

int a(int x)
{
  return x + 2;
}

int b(int x)
{
  return a(x);
}

int main(void)
{
  return b(5) + 1;
}

汇编代码如下:

2、代码分析

二、计算机工作的过程

工作的大致过程是:用户将编制好的程序通过输入设备送入计算机, 放在存贮器里保存起来;通过输入设备向计算机发出执行程序的命令。 于是,在控制器的控制下,计算机便按照程序要求自动地进行工作。 计算机工作时,控制器从存贮器取出一条指令程序, 分析这条指令要求计算机进行哪一种操作,然后执行所规定的操作, 执行完一条指令后,再从存贮器中取出下一条指令,再分析和执行。这样重复进行,直到程序执行完毕。

时间: 2024-10-24 10:32:55

LINUX内核分析第一周学习总结——计算机是如何工作的的相关文章

Linux内核分析——第一周学习笔记

20135313吴子怡.北京电子科技学院 chapter 1 知识点梳理 第一节 存储程序计算机工作模型 1.冯诺依曼体系结构:即具有存储程序的计算机体系结构.目前大多数拥有计算和存储功能的设备(智能手机.平板.计算机等)其核心构造均为冯诺依曼体系结构 a.从硬件来看:CPU与内存通过主线连接,CPU上的IP(可能是16.32.64位)总指向内存的某一块区域:IP指向的CS(代码段)也在内存中:CPU总是执行IP指向的指令. b.从软件来看:API(应用程序编程接口,与编程人员)与ABI(程序与

Linux内核设计第一周学习总结 计算机如何工作

北京电子科技学院 20135310陈巧然 一.视频笔记 二.实验:汇编一个简单C程序,分析其汇编指令执行过程 利用实验楼实验环境 2.源代码main.c 3.生成的汇编代码main.s 三.汇编指令执行过程分析 四.总结理解 该部分内容在曾经的汇编基础课和信息安全系统设计基础课中反复学习过,是计算机工作原理的基础部分. 计算机可抽象理解为由CPU和内存两部分组成,内存中存有指令和数据,CPU解释执行指令.CPU中的IP寄存器指向内存中的某代码段(即指令),CPU执行完当前IP指向的指令后,IP寄

Linux内核分析第一周——计算机是如何工作的

Linux内核分析第一周——计算机是如何工作的 李雪琦 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 冯诺依曼体系结构结构,就是存储程序计算机. 1.数字计算机的数制采用二进制: 2.计算机通常是顺序执行一条一条的指令,如果有必要就通过寄存器跳转到特定的地址,再执行,然后通过一系列机制返回原有的地址,继续顺序执行. 实验部分:

《Linux内核分析》第一周学习小结 计算机是如何工作的?

<Linux内核分析>第一周.计算机是如何工作的? 20135204 郝智宇  一.存储程序计算机工作模型 1.      冯诺依曼体系结构: 数字计算机的数制采用二进制:计算机应该按照程序顺序执行. 内存保存指令和数据,CPU负责解释和执行这些指令. 2.    API: 程序员与计算机的接口界面. 3.    EIP: CALL  RET  IMP   二.X86汇编基础 1.      X86CPU的寄存器 E开头32位,R开头64位.   堆栈是计算机中非常基础性的东西. 2.    

[Linux内核分析第一周课程] 由C语言程序的汇编表示观察CPU寄存器与内存的互动

孟宁<Linux内核分析>第一周实验 作者:Zou Le 原创作品转载请注明出处. 课程信息: <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ---------------------------实验正文--------------------------- 本实验在实验楼64位LIinux虚拟机下进行. C代码如下: int increment5(int x) { return x + 5; }

LINUX内核分析第二周学习总结:操作系统是如何工作的?

马启扬 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.函数调用堆栈 1. 小结:计算机是怎样工作的 三个法宝:存储程序计算机.函数调用堆栈.中断机制. 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构. 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能.(函数参数传递

Linux内核分析——第二周学习笔记

20135313吴子怡.北京电子科技学院 chapter 1 知识点梳理 (一)计算机是如何工作的?(总结)——三个法宝 ①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: ②函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能: enter pushl %ebp movl %esp,%ebp leave movl %ebp,%esp popl %ebp 函数参数传递机制和局部变量存储 ③中

Linux内核分析作业(1)——计算机是如何工作得?

根据163MOOC学院中国科学技术大学孟宁孟老师课程所写得博客 作者:肖冲冲 原创作品请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一,计算机的工作过程 计算机的基本原理是存储程序和程序控制(冯﹒诺依曼体系),简单来说,我们需要先把需要进行操作的指令(程序)和数据先输入到计算机的存储设备中,然后计算机将严格执行需要执行的指令,包括从那个地址取数(或指令),进行什么操作(加减移位等),然后再送回到什

Linux内核分析第一周-通过分析汇编代码理解计算机是如何工作的

首先,我们先写一个简单的C语言程序,如下: int g(int x) { return x +3; } int f(int x) { return g(x); } int main(void) { return f(8) + 1; } 然后我们把源程序编译成一个汇编语言,指令如下 gcc -S -o main.s main.c -m32 得到结果,删去符号项得到结果 首先,main函数为该程序的开始入口,所以从main函数开始分析: 在line 17 ~ line 18是进入main函数(ent