您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页百度面试题

百度面试题

来源:爱玩科技网
1.c++中构造函数的初始化成员列表有什么作用?

2.初始化的和为初始化的全局变量分别放在什么地方?BSS段的全称是啥?为啥用BSS 段,有啥好处? 3.main函数的声明? int main(int argc, char *argv[]); {};

4.shell里如何定义一个局部变量?export是干啥用的? set argname

shell与export命令

用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。

在子 shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。 export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。

资料来源:学网(www.xue5.com),原文地址:http://www.xue5.com/itedu/200707/122958.html

5.linux内核目前最新的版本号是多少?

The latest stable version of the Linux kernel is: 2.6.30 http://www.kernel.org/

6.内存管理中node和zone的分别是干什么用的?UMA和NUMA啥区别?

node是和物理上的存储设备相关的。从linux 2.4的内核开始,支持内存的节点(node),也就是可支持不连续的物理内存区域。这一点在嵌入式系统中很有用,例如对于SDRAM和FALSH,性质不同,可作为不同的内存节点。 是在启动时根据meminfo建立的。

系统启动后,物理内存被分页,每一页都有个对应的page结构,而zone就是某些page的集合(管理区),比如ZONE_DMA、ZONE_NORMAL

《Linux内核源代码情景分析》里面对内存管理有详细的分析,建议读一下。

NUMA(非一致存储访问)在多进程世界里是超越SMP以及提升多处理器系统效率的一个进步,

2009-06-10 03:24 UTC

NUMA 结构正式体现在 Linux 内核中是从 2.6 开始的。2.6内核之前,Linux 利用已有的\"不连续内存\"(Discontiguous memory,CONFIG_DISCONTIGMEM)体系结构来支持 NUMA 。

7.linux分几级页表?32位和位支持最大的内存? 3级, 32位机:4GB 位机:

8.伙伴算法如何分配和回收内存?

Linux的伙伴算法把所有的空闲页面分为10个块组,每组中块的大小是2的幂次方个页面,例如,第0组中块的大小都为20(1个页面),第1组中块的大小为都为21(2个页面),第9组中块的大小都为29(512个页面)。也就是说,每一组中块的大小是相同的,且这同样大小的块形成一个链表。

我们通过一个简单的例子来说明该算法的工作原理。

假设要求分配的块其大小为128个页面(由多个页面组成的块我们就叫做页面块)。该算法先在块大小为128个页面的链表中查找,看是否有这样一个空闲块。如果有,就直接分配;如果没有,该算法会查找下一个更大的块,具体地说,就是在块大小为256个页面的链表中查找一个空闲块。如果存在这样的空闲块,内核就把这256个页面分为两等份,一份分配出去,另一份插入到块大小为128个页面的链表中。如果在块大小为256个页面的链表中也没有找到空闲页块,就继续找更大的块,即512个页面的块。如果存在这样的块,内核就从512个页面的块中分出128个页面满足请求,然后从384个页面中取出256个页面插入到块大小为256个页面的链表中。然后把剩余的128个页面插入到块大小为128个页面的链表中。如果512个页面的链表中还没有空闲块,该算法就放弃分配,并发出出错信号。

以上过程的逆过程就是块的释放过程,这也是该算法名字的来由。满足以下条件的两个块称为伙伴:

· 两个块的大小相同 · 两个块的物理地址连续

伙伴算法把满足以上条件的两个块合并为一个块,该算法是迭代算法,如果合并后的块还可以跟相邻的块进行合并,那么该算法就继续合并

9.linux2.4的进程调度算法?2.6.26的O(1)调度算法的实现? 10.VFS有什么作用? 11.open函数执行过程?

12.返回的fd是干什么用的? 13.inode是什么?有什么用?

14.如何使用GDB调试core文件?

15.如何使用GDB调试已经运行的程序? 16.gcc不同的优化选项什么区别? 17.线程编程用什么库?如何链接?

18.如何使创建的线程不必由主进程回收其资源? 19.TCP三次握手过程?

20.如何在OPNET里集成c++代码?

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务