- 博客(13)
- 收藏
- 关注
转载 72、进程与线程
72、进程与线程的概念值得深思的问题:什么是程序?什么是进程?程序和进程有什么关系?程序是计算机存储系统中的数据文件:源代码程序:文本文件,描述程序行为和功能。不能直接运行可执行程序:二进制文件,直接加载并执行。源代码程序->编译器->可执行程序(二进制)进程的概念:有了程序不见得有进程,执行程序得到的广义概念:程序关于某个数据集合的一次运行活动。狭义概念:程序被加...
2018-07-30 17:04:30 693
转载 32、qt中的文件操作+
32qt中的文件操作+qt中io操作的处理方式:(类似linux思想外部设备:一切皆文件)qt通过统一的接口简化了文件与外部设备的操作方式,qt中的文件被看做一种特殊的外部设备,qt中的文件操作与外部设备的操作相同。 统一的IO操作方式io操作中的关键函数接口:打开设备:bool open(OpenMode mode)读取数据:QByteArray read(qint64 ma...
2018-07-27 17:34:04 1743
转载 10、实模式到保护模式上
从计算机的示例谈起:远古的程序开发:直接操作物理内存CPU指令的操作数直接使用实地址(实际内存地址)程序员拥有绝对的权利(利用cpu指哪打哪)绝对的权利带来的问题:1难以重定位:程序每次都需要同样地址的内存执行。有的程序用了开头和结尾,当在别的电脑上运行后,512k内存编写的程序用了开头32k,结尾8k,在256内存的设备上就不能执行了。2给多道程序设计带来障碍:A程序...
2018-07-16 12:26:34 380
转载 6、突破512字节的限制一
辅助函数-->字符串打印,软盘读取问题:主引导程序中如何进行字符串打印?BIOS中的字符串打印:指定打印参数(AX=0X1301,BX=0x0007)指定字符串的内存地址(ES:BP=串地址)段地址和段内偏移地址来指定目标字符串的内存地址指定字符串的长度(CX=串长度)中断调用(int 0x10)字符串打印示例://指定字符串地址:mov ax, msg(字符串在段内偏移地址)mov bp,...
2018-07-10 20:03:53 1243
转载 4、主引导程序的扩展上+
主引导程序是BIOS后运行的第一个程序,位于第0扇区,以55aa为结束符,大小不超过512字节512字节能完成操作系统功能么?限制:主引导程序的代码量不能超过512字节!突破限制的思路:主引导程序:1、完成最基本的初始化工作2、从存储介质中加载程序到内存中3、将控制权交由新加载的程序执行。存储介质 0扇区Boot...Program...找到程序加载到内存控制权交给内存内存 ...
2018-07-09 13:30:13 523
转载 1、进阶操作系统
什么是操作系统?windows,unix,linux,macos,android,ios...操作系统是直接运行于硬件之上的计算机程序。操作系统用于管理和控制计算机的硬件与软件资源。操作系统为用户软件的开发提供必要的服务和接口。现代计算机系统架构:硬件层-BIOS()-操作系统-用户软件(编译软件)BIOS-(base input & output system)BIOS是计算机上电后第一...
2018-07-07 17:56:54 395
转载 21、系统模块管理的设计
系统模块化设计将系统中有关联的部分组合在一起,构成具有特定功能的子系统。划分模块的内部组成具有较强的耦合性,模块本身具有一定的通用性。不同的模块间可以进行相互组合与依赖,进而构成不同的产品。模块化设计:结构化设计 面向对象设计示例:Module Demointerface123 int function(); class0 class1 class2接口比模块先实现,用来各个模块交互...
2018-07-06 18:31:11 6489
转载 18、设计、软件质量之本
软件设计是什么?一种创造性的活动,力求以简单优雅的方式解决实际问题、软件设计是一门技术:数据结构,组成原理,操作系统,编程语言。软件设计是一门艺术。并不是技术知识的简单堆砌,分析抽象,取舍。软件设计的意义(构架的意义)软件设计:功能,部署,交互,复用性,维护性,扩展性。特定:是一个塑造模型(概念)的过程是一个取舍的过程,是一个分而治之的过程是一个在理性范围内追求完美的过程什么是软件质量?用户角度:...
2018-07-05 17:27:29 296
转载 16、混淆指针与数组的问题
下面的程序输出什么?#include <stdio.h> //main.cextern char* g_name; //使用define.c定义的全局数组g_nemeint main(){ define_print();printf("main():%s\n",g_name);return 0;}#include <stdio.h> // define.ccha...
2018-07-05 15:28:20 221
转载 13、深入理解程序结构
程序由不同的段构成(代码段,数据段):程序的静态特征就是指令和数据。程序的动态特征就是执行指令处理数据。源程序到可执行程序文件的对应关系:图13.1初始化后去.data 未初始化去.bss局部变量在栈上,可执行函数语句去代码段大部分去了可执行程序。代码段(.text):可执行不可写源代码中的可执行语句编译后进入代码段。代码段在有内存管理单元的系统中具有只读属性。预防恶意软件破坏代码段的大小在编译结...
2018-07-04 19:44:20 357
转载 11、调试利器GDB
什么是GDB? GNU项目中的调试器(gnu debuger)能够跟踪程序的执行,也能够恢复程序奔溃前的状态。为什么需要GDB?软件不是一次性开发完成的(是软件就有bug,是程序就有问题)调试是软件开发过程中不可或缺的技术(调试工具很重要)GDB的常规应用:自定义程序的启动方式(指定影响程序运行的参数)设置条件断点(在条件满足时暂停程序的执行)回溯检查导致程序异常就结束的原因(Core Dump)...
2018-07-03 14:34:38 258
转载 7、链接器
问题:源文件被编译成目标文件,这些目标文件如何生成最终的可执行程序?链接器的意义:链接器的主要作用是把各个模块之间相互引用的部分处理好,使得各个模块之间能够正确的衔接。文标文件的秘密:各个段没有具体的起始地址,只有段大小信息。各个标识符没有实际地址,只有段中的相对地址。段和标识符的实际地址需要链接器具体确定。链接器的工作内容:将目标文件和库文件整合为最终的可执行程序。合并各个目标文件中的段(.te...
2018-07-02 13:02:45 326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人