易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : linux

linux面试题参考答案

一.填空题:
1. 在Linux系统中,以 文件 方式访问设备 。
2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。
3. Linux文件系统中每个文件用 i节点 来标识。
4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。
5. 链接分为: 硬链接 和 符号链接 。
6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统信息。
7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是 目录 。
8. 前台起动的进程使用 Ctrl+c 终止。
9. 静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。
10. 网络管理的重要任务是: 控制 和 监控 。
11. 安装Linux系统对硬盘分区时,必须有两种分区类型: 文件系统分区 和 交换分区 。
13. 编写的Shell程序运行前必须赋予该脚本文件 执行 权限。
14. 系统管理的任务之一是能够在 分布式 环境中实现对程序和数据的安全保护、备份、恢复和更新。
15. 系统交换分区是作为系统 虚拟存储器 的一块区域。
16. 内核分为 进程管理系统 、 内存管理系统 、 I/O管理系统 和文件管理系统 等四个子系统。
17. 内核配置是系统管理员在改变系统 ......

30道嵌入式Linux内核软件开发的测试题


如果你能正确回答以下问题并深刻理解相关知识点原理,那么你可以算得上基本合格的Linux内核开发工程师,试试看!
1)Linux中主要有哪几种内核锁?
2)Linux中的用户模式和内核模式是什么含意?
3)怎样申请大块内核内存?
4)用户进程间通信主要哪几种方式?
5)通过伙伴系统申请内核内存的函数有哪些?
 
6)通过slab分配器申请内核内存的函数有?
7)Linux的内核空间和用户空间是如何划分的(以32位系统为例)?
8)vmalloc()申请的内存有什么特点?
9)用户程序使用malloc()申请到的内存空间在什么范围?
10)在支持并使能MMU的系统中,Linux内核和用户程序分别运行在物理地址模式还是虚拟地址模式?
 
11)ARM处理器是通过几级也表进行存储空间映射的?
12)Linux是通过什么组件来实现支持多种文件系通的?
13)Linux虚拟文件系统的关键数据结构有哪些?(至少写出四个)
14)对文件或设备的操作函数保存在那个数据结构中?
15)Linux中的文件包括哪些?
 
16)创建进程的系统调用有那些?
17)调用schedule()进行进程切换的方式有几种?
18)Linux调度程序是根据进程的动态优先级还是静态优先级来调度进程的?
19)进程调度的核心数 ......

Linux信号

from: http://cc.byexamples.com/20070520/tap-the-interrupt-signal/
When you hit control+c, you are actually send a SIGINT ( Interrupt signal ) to your program. By default, your program will be terminated after receiving SIGINT. But you can change the way of handling Interrupt signal.
Some of the application tends to ignore SIGINT. You can easily do that with sigaction.
#include<stdio.h>
#include<signal.h>
void bypass_sigint(int sig_no)
{

}
int main()
{

struct sigaction sa;
memset(&sa, 0, sizeof(sa));
sa.sa_handler = &bypass_sigint;
sigaction(SIGINT, &sa,NULL);

while(1)
{
sleep(1);
printf("do nothing \n ");
}
return 0;
}

Create a void function that intentionally do nothing. Create a sigaction structure variable, set the sa_handle point to the void fucntion. At last calling sigaction function, telling the system, while receiving SIGINT, c ......

Linux 内核编译步骤 (转)

下载新内核以后,先把Linux-2.6.18.2.tar.bz2 复制到/usr/src/ 的下面
tar –jxvf  Linux-2.6.18.2.tar.bz2 cd Linux-2.6.18.2 make mrproper 把原来编译产生的垃圾删除
配置内核可以根据需要与爱好使用下面命令中的一个:
#make config (基于文本的最为传统的配置界面)
#make menuconfig (基于文本选单的配置界面)
#make xconfig (基于图形窗口模式的配置界面)
#make oldconfig (如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)
进行配置时,大部分选项可以使用其缺省值,只有小部分需要根据用户不同的需要选择。例如,如果需要内核支持DOS分区的文件系统,则要在文件系统部分选择FAT或DOS系统支持;系统如果配有网卡、PCMCIA卡等,需要在网络配置中选择相应卡的类型。
                          
选择相应的配置时,有三种选择,它们分别代表的含义如下:
                          
“Y”- 将该功能编译进内核
            &nb ......

在Linux中创建静态库和动态库


我们通常把一些公用函数制作成函数库,供其它程序使用。
函数库分为静态库和动态库两种。
静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。
动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。
本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。
在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程序编译成.o文件。
第1步:编辑得到举例的程序--hello.h、hello.c和main.c;
hello.h(见程序1)为该函数库的头文件。
hello.c(见程序2)是函数库的源程序,其中包含公用函数hello,该函数将在屏幕上输出"Hello XXX!"。
main.c(见程序3)为测试库文件的主程序,在主程序中调用了公用函数hello。
 程序1: hello.h
 #ifndef HELLO_H
 #define HELLO_H
 
 void hello(const char *name);
 
 #endif //HELLO_H
 程序2: hello.c
 #include <stdio.h>
 
 void hello(const char *name)
 {
  printf("Hello %s!\n", name);
 }
  程序3: mai ......

linux下的共享库(动态库)和静态库


1.什么是库
在windows平台和linux平台下都大量存在着库。
本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。
由于windows和linux的本质不同,因此二者库的二进制是不兼容的。
本文仅限于介绍linux下的库。
2.库的种类
linux下的库有两种:静态库和共享库(动态库)。
二者的不同点在于代码被载入的时刻不同。
静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。
共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。
3.库存在的意义
库是别人写好的现有的,成熟的,可以复用的代码,你可以使用但要记得遵守许可协议。
现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。
共享库的好处是,不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例。
4.库文件是如何产生的在linux下
静态库的后缀是.a,它的产生分两步
Step 1.由源文件编译生成一堆.o,每个.o里都包含这个编译单元的符号表
Step 2.ar命令将很多.o转换成.a,成文静态库
动态库的后缀是.so,它由gcc加特定参数编译产生。
例如:
$ gcc -fPIC ......
总记录数:5772; 总页数:962; 每页6 条; 首页 上一页 [895] [896] [897] [898] 899 [900] [901] [902] [903] [904]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号