Linux应用与网络面试题

  1. linux目录结构
    Linux应用与网络面试题

  2. linux常用命令

  3. vi的3种工作模式:命令行模式、插入模式和底行模式

  4. 嵌入式系统:以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

  5. ARM的7种处理器模式:用户模式、快速中断模式、外部中断模式、管理模式、数据访问终止模式、系统模式。

  6. Bootloader:在操作系统内核运行之前,运行的一段小程序,类似于PC机中的BIOS。通过这段程序,可以完成硬件设备的初始化,建立内存内存空间的映射关系,从而将系统的软硬件环境带到一个合适的状态,为最终加载系统内核做好准备。

7.Bootloader的启动流程:一般分为两个阶段stage1和stage2。

(1)stage1主要完成的工作:

基本的硬件初始化,包括屏蔽所有的中断、设置CPU的速度和时钟频率、RAM初始化、初始化外围设备、关闭CPU内部指令和数据cache等。
为加载stage2准备RAM空间,在这里要确定两点:stage2的可执行映像在固态存储设备的存放起始地址和终止地址;RAM空间的起始地址。
复制stage2到RAM中。
设置堆栈指针sp,这是为执行stage2的C语言代码做好准备。
(2)stage2主要完成的工作:

用汇编语言调转到main入口函数。
初始化本阶段要使用到的硬件设备,包括初始化串口、初始化计时器等。
检测系统的内存映射。
加载内核映像和根文件系统映像。
设置内核的启动参数。
8. 进程的状态:执行态、就绪态、等待态。

  1. 进程包含3个段:数据段、代码段、堆栈段。

  2. 写操作时复制:创建新进程时不产生父进程的副本,只有当子进程需要改变内存中的数据时才复制父进程。

  3. exec函数族

  4. 僵尸进程:在退出后未被回收前的进程称为僵尸进程

  5. 守护进程:也就是通常说的Daemon进程,是Linux中的后台服务进程,生存期较长,在系统引导载入时启动,在系统关闭时终止。创建步骤如下:

(1)创建子进程,父进程退出

(2)在子进程中创建新回话

(3)改变当前目录为根目录

(4)重设文件权限掩码

(5)关闭文件描述符

  1. 进程间通信:管道、信号、消息队列、共享内存、信号量、套接字。

  2. OS参考模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

  3. TCP/IP参考模型:网络接口层、网络层、传输层、应用层

  4. socket有3种数据类型:流式socket、数据报socket、原始socket

  5. socket基础编程

(1)TCP协议socket编程流程图
Linux应用与网络面试题

(2)UDP协议socket编程流程图
Linux应用与网络面试题