上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要: 我们知道操作系统控制计算机所有的设备并提供核心功能。但操作系统也是软件。在计算机开机时,计算机内没有任何软件,那么计算机是如何读取硬盘内的操作系统档案的呢?1. 计算机开机时执行的第一个程序是BIOS。由BIOS去读取CMOS上计算机的各项硬件信息,从而得到MBR上第一个可开机的装置;2. 第一个可开机装置的第一个扇区内的主要活动记录区块内含有开机管理程序(boot loader)), 由它加载核心档案;3. 核心档案开始操作系统的任务。@ 要安装多重引导,最好先装linux,后装windows,暂不解释。名词解释:CMOS:保存计算机基本启动信息的RAM芯片,在主板上,有主板供电。需要由BI 阅读全文
posted @ 2010-10-31 15:23 liyuxia713 阅读(145) 评论(0) 推荐(0) 编辑
摘要: linux中:虚拟内存=物理内存(RAM)+ 交换空间(swap space)swap space可以是专用的交换分区(swap partition)(推荐),交换文件(swap file)或者是两者组合。swap space 用途:@. 当RAM不够用时,linux将部分不活动的页(inactive pages)调度到硬盘上,以释放RAM给其他程序。@. 用linux的休眠(hibernation)功能时,系统将RAM中所有数据存到swap partition中(注意:不能是swap file)。@. 优化内存使用(optimizing memory usage):linux 将RAM 中的 阅读全文
posted @ 2010-10-31 15:21 liyuxia713 阅读(341) 评论(0) 推荐(0) 编辑
摘要: "在linux系统中,每个装置都被当成一个档案来看待"不同硬盘:IDE+SATAIDE硬盘名称:/dev/hd[a-d] ([a-d],多个硬盘时不一定是连续编号,而是以插入硬盘的位置确定)SATA硬盘名称:/dev/sd[a-p] ([a-p], 多个硬盘时连续编号,以扫描到的顺序确定,与插入位置无关)不同分区:主要分割(primary)+延伸分割(extended)+逻辑分割(logical)/dev/sda1, /dev/sda2,... 逻辑分割从5开始 /dev/sda5,....@. primary+extended 最多有4个。(硬盘限制)@. extende 阅读全文
posted @ 2010-10-31 15:17 liyuxia713 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 扩展阅读内存的三种分配方式:1.从静态存储区分配:此时的内存在程序编译的时候已经分配好,并且在程序的整个运行期间都存在。全局变量,static变量等在此存储。2.在栈区分配:相关代码执行时创建,执行结束时被自动释放。局部变量在此存储。栈内存分配运算内置于处理器的指令集中,效率高,但容量有限。3.在堆区分配:动态分配内存。用new/malloc时开辟,delete/free时释放。生存期由用户指定,灵活。但有内存泄露等问题。常见内存错误及对策1.内存分配未成功,却被使用。对策:使用内存之前检查是否分配成功。用p!=NULL判断。2.内存分配成功,未初始化就被使用。内存的缺省值没有统一的标准。大部 阅读全文
posted @ 2010-06-05 09:34 liyuxia713 阅读(136) 评论(0) 推荐(0) 编辑
摘要: int sscanf(const char* str, const char* format, ...)functions: Reads data from str and stores them according to the parameter format into the locations given by the additional arguments. Locations pointed by each additional argument are filled with their corresponding type of value specified in the 阅读全文
posted @ 2010-04-25 20:13 liyuxia713 阅读(172) 评论(0) 推荐(0) 编辑
摘要: sprintf: http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/Portotype: int printf(char* str, const char* format, parameters);Writes into the array pointed by str a C string consisting on a sequence of data formatted as the format argument specifies. After the format parameter, the function e 阅读全文
posted @ 2010-04-25 19:23 liyuxia713 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 与复制构造函数和复制操作符不同,编译器总是提供合成析构函数。合成析构函数做什么?按对象创建时的逆序撤销每个非static成员,包括指针成员。只不过不删除指针成员所指向的对象。幸运草 2010-04-19 08:49 发表评论 阅读全文
posted @ 2010-04-19 08:49 liyuxia713 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 当在类的构造函数体中申请了资源(如内存空间),需要在对象被销毁时进行释放时。classTest{public:Test(constchar*ptr){if(ptr){p=newchar[strlen(ptr)];}}~Test(){delete[]p;}private:char*p;};幸运草 2010-04-18 19:59 发表评论 阅读全文
posted @ 2010-04-18 19:59 liyuxia713 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 内存泄露的情形:1#include<iostream>2usingnamespacestd;34classStu5{6public:7Stu(intm):var(m)8{9cout<<var<<"constructorcalled."<<endl;10}11~Stu(){cout<<var<<"destructorcalled."<<endl;}12private:13intvar;14};151617intmain()18{19Stu*a=newStu(20);20St 阅读全文
posted @ 2010-04-18 12:06 liyuxia713 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 1. 一般指针的new&delete对于指针a,delete a之后,指针a 的地址仍然是原来的地址(并不是NULL),只不过所指向的对象被释放了,此时指针存放的值为随机的,由编译器确定。1int*a=newint(2);2cout<<"afternew:"<<endl;3cout<<"a="<<a<<","<<"*a="<<*a<<endl;45deletea;6cout<<"afterd 阅读全文
posted @ 2010-04-18 10:58 liyuxia713 阅读(185) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页