1、文件系统是指操作系统中与管理文件有关的软件和数据,windows文件系统是以驱动器盘符为基础的,而且每个目录与相应的分区对应;linux下,分区属于目录结构。
1、Swap交换分区一般设为内存大小的2倍;windows选择FAT32、NTFS两种格式,linux使用EXT3格式。
2、文件属性:-rwx rwx rwx - 表示普通文件
d 表示目录文件 l 表示链接文件 3、文件系统目录结构
/bin 存放常用操作命令文件
/boot 存放操作系统启动时所要用到的程序
/etc 存放系统管理时要用到的各种配置文件和子目录 /home 系统默认的用户工作根目录 4、常见系统管理命令
Ps 显示当前系统中由该用户运行的进程列表
Kill 输出特定的信号给指定的PID(进程号)的进程 5、chmod:改变文件的访问权限
(1)符号标记 格式:chmod [选项] 。。。符号权限 [符号权限] 。。。文件
U:文件所有者、g:所属的用户组、o:系统里的其他用户、a:所有这3个不同的用户级别。+:增加权限、—:删除权限、=:设置权限
例: #chmod a+rx,u+w abc.tgz (2)八进制数 格式:chmod [选项] 。。。八进制权限 文件。。。
例:-r w x -rwx rw- r-x
4 2 1 7 6 5
#chmod 765 abc.tar.gz 使用chmod必须具有root权限 7、linux的启动过程:(简答)
(1)打开电源,CPU进入实模式,并从地址0xFFFF0000开始自动执行程序代码,这时BIOS进行开机自检,并按bios的设置进行设备启动,接着启动设备上安装的引导程序lilo或grub开始引导linux,linux获得启动权。
(2)linux进行内核引导,主要完成磁盘引导、读取机器系统数据、实模式和保护模式的切换、加载数据段寄存器以及重置中断描述符表等。
(3)执行init程序,init程序调用了rc.sysinit和rc等程序,而rc.sysinit和rc在完成系统初始化和运行服务的任务后返回init。
(4)Init启动mingetty,打开终端供用户登录系统,用户登录成功后进入shell,这样就完成了系统的整个启动过程。
8、vi的模式:命令行模式、插入模式、底行模式 9、Gcc所支持后缀名解释 .c .m .i .ii
1
C原始程序 Objective-C原始程序 已经预处理的C原始程序 已经预处理的C++原始程序 .s/.S .h .o .a/.so 汇编语言原始程序 预处理文件(头文件) 目标文件 编译后的库文件 .c/.cc/.cxx C++原始程序
P62 表3.7
-I dir 在头文件的搜索路径列表中添加dir目录 P63 表3.8
-L dir 在库文件的搜索路径列表中添加dir目录
10、库函数有静态库和动态库两种,它们的相同点及区别?(简答)
静态库是指编译连接时,将库文件的代码全部加入可执行文件中,因此生产的文件比较大,但在运行时也就不需要库文件了,其后缀名通常为“.a”。动态库与之相反,在编译链接时并没有将库文件的代码加入可执行文件中,而是在程序执行时加载库,这样可以节省系统的开销,后缀名一般为“.so”。 11、makefile(P76-80) P78 表3.16 12、几种主流的嵌入式操作系统
嵌入式linux、VxWorks、QNX、windows CE 、Palm OS 13、理解嵌入式的特点P96(考小题) 14、ARM微处理器工作状态(简答)
(1)ARM状态,此时处理器执行32位的字对齐的ARM指令。
(2)Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。 (3)Thumb2状态,此时处理器执行16/32位混合的、多类型对齐的指令。 15、ARM系统结构的存储格式(简答)
大端格式:在这种格式中,字数据的高字节存储在低地址中,而子数据的低字节则存放在高地址中。
小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。
16、P110 深刻理解交叉编译。交叉编译:就是在一个平台上生成可以在另一个平台上执行的代码,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。
17、minicom是在Linux下串口通信的软件,在minicom中“ttyS0”对应“COM1”,“ttyS1”对应“COM2”。
18、内核的编译主要分别为3个步骤:内核配置、建立依赖关系、创建内核映像。 19、内核支持4种不同的配置方法:(简答)
Make config:基于文本的最为传统的配置界面,不推荐使用。
Make menuconfig:基于文本选单的配置界面,字符终端下推荐使用。 Make xconfig:基于图形窗口模式的配置界面,Xwindow下推荐使用。
Make oldconfig:自动读入“.config”配置文件,并且只要求用户设定前次没有设定过的选项。
20、linux内核源码目录结构 P129
/arch子目录包含了所有处理器体系结构的内核代码。 /drivers子目录包含了内核中所有的设备驱动程序。 21、linux支持多种文件系统,在嵌入式系统中常见的系统文件有cramfs、romfs、jffs、yaffs。
在嵌入式linux中,busybox是构造文件系统最常用的软件工具包。 22、Bootloader的两大作用:初始化硬件、加载内核。
23、在linux系统中,将程序的运行空间分为内核空间和用户空间。
24、通常,一个进程启动时,都会打开3个文件:标准输入、标准输出、标准出错处理。 25、终端有3种工作模式:规范模式、非规范模式、原始模式。 26、P178-182 串口 27、进程运行的状态:
2
a) 执行态:该进程正在运行,即进程正在占用CPU。
b) 就绪态:进程已经具备执行的一切条件,正在等待分配CPU的处理时间片。 c) 等待态:进程不能使用CPU,若等待事件发生则可将其唤醒。 28、linux中的进程包含3个段:数据段、代码段、堆栈段。 29、常用的进程通信方式有以下几种:P234(简答)
(1)管道及有名管道:管道可用于具有亲缘关系进程的通信,有名管道,除具有管道所具有的功能外,它还允许无亲缘关系进行间的通信。
(2)信号:信号是在软件层次上对中断机制的一种模拟,用于通知进程有某件事发生。 (3)消息队列:消息队列是消息的链接表,包括Posix消息队列、systemV消息队列。 (4)共享内存:最有用的进程间通信方式。
(5)信号量:主要作为进程之间以及同一进程的不同线程之间的同步和互斥手段。 (6)套接字:是一种更为一般的进程通信机制,可用于网络中不同机器之间的进程通信,应用非常广泛。
实验题1、P157-截取文件内容 /* copy_file.c */ #include #define BUFFER_SIZE 1024 /* 每次读写缓存大小,影响运行效率*/ #define SRC_FILE_NAME \"src_file\" /* 源文件名 */ #define DEST_FILE_NAME \"dest_file\" /* 目标文件名文件名 */ #define OFFSET 10240 /* 拷贝的数据大小 */ int main() { int src_file, dest_file; unsigned char buff[BUFFER_SIZE]; int real_read_len; /* 以只读方式打开源文件 */ src_file = open(SRC_FILE_NAME, O_RDONLY); /* 以只写方式打开目标文件,若此文件不存在则创建, 访问权限值为644 */ dest_file=open(DEST_FILE_NAME,O_WRONLY|O_CREAT,S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); if (src_file < 0 || dest_file < 0) { printf(\"Open file error\\n\"); exit(1); } /* 将源文件的读写指针移到最后10KB的起始位置*/ lseek(src_file, -OFFSET, SEEK_END); /* 读取源文件的最后10KB数据并写到目标文件中,每次读写1KB */ 3 while ((real_read_len = read(src_file, buff, sizeof(buff))) > 0) { write(dest_file, buff, real_read_len); } close(dest_file); close(src_file); return 0; } 实验题2、p183-写串口 /* com_writer.c */ #include 4 return 0; } 实验题3、P184-读串口 /* com_reader.c */ #include 5 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务