读书笔记-程序是怎么跑起来的-摘要4

本文介绍了程序从源代码到可执行文件的编译、链接过程,包括源文件、本地文件、EXE文件的生成。阐述了栈和堆的区别,以及操作系统如何管理内存。讨论了操作系统的多任务实现、系统调用以及硬件控制。还提到了中间件、即插即用技术以及程序语言从汇编到本地代码的转换。
摘要由CSDN通过智能技术生成

40.用某种语言编写的程序就称为源代码,保存源代码的文件称为源文件。
源文件经过编译器编译成为本地文件。
--C语言,源文件为object.c,本地文件为object.obj

41.本地文件不可运行,需要经过链接,最后生成一个EXE文件。
链接的过程中涉及静态、动态链接库和导入库。
--链接是将运行所需的所有东西组合到一起的过程

42.栈,是用于存储函数内部临时使用的变量(局部变量),以及函数调用时所使用的的参数的内存区域。
堆,是用于存储程序运行过程时的任意对象及数据的内存区域。
栈空间由编译器管理(函数被调用时分配,使用完毕后自动清除),堆空间由程序控制。
--局部变量作用域,堆处理不好就会内存泄漏,Java自动回收啊

43.内存中的程序,就是由用于变量的、函数的、栈的、堆的内存空间组成

44.监控程序,只有加载和运行功能的程序,是操作系统的原型。
初期的操作系统=监控程序+基本的输入输出程序。
操作系统是多个程序的集合体。
--亚古兽超进化

45.操作系统的硬件控制功能,是通过一些小的函数集合体的形式提供的。
这些函数及函数的调用行为统称为系统调用。
高级语言有自己的系统调用函数。

46.操作系统和高级编程语言使硬件抽象化。
--我知道这个函数是操作文件的,不需要知道怎么实现的

47.多任务指的是同时运行多个程序,Windows通过时钟分割技术实现该功能的。
时钟分割指的是在短时间间隔内,多个程序切换运行的方式。
--只要我够快,你就没感觉

48.网络功能和数据库功能,虽不是操作系统本身不可欠缺的功能,但是因为它们和操作系统很接近,
所以被统称为中间件而不是应用。
操作系统和中间件合在一起,称为系统软件。
--系统软件你好

49.即插即用,指的是新插入的设备可以立即使用。
--驱动在此

50.计算机CPU只能运行本地代码,但是本地代码不容易理解,可以在上面增加add、cmp等助记符,
改变成为汇编语言。
汇编语言运行前也需要转换为本地代码,这一过程称为汇编,由汇编器负责。

51.汇编语言语法结构=操作码(指令动作)+操作数(指令对象)

52.函数的参数是通过栈来传递,返回值是通过寄存器来返回的。
--局部变量存活有限

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值