常见面试题(答案仅供参考)
  1.CPU在上电后,进入操作系统的main()之前必须做什么?
  加电后,会触发CPU的reset信号,导致CPU复位,然后CPU会跳到(arm下0x00000000,x86下0xfffffff0)执行指令.主 要是做CPU初始化,确定CPU的工作模式,mmu初始化。建立页表段表,初始化中孤单控制器和中断向量表,初始化输入和输出,初始化 nandflash,把OS的TEXT区加载到sdram,然后跳转到sdram的main()
  2.什么是中断?中断时CPU做什么工作?
  中断是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。
  3.简术ISO OSI的物理层Layer1,链路层Layer2,网络层Layer3的任务。
  网络层:资料传送的目的地寻址,再选择出传送资料的佳路线;
  链路层:负责网络上资料封包如何传送的方式;
  物理层:在设备与传输媒介之间建立及终止连接。参与通讯过程使得资源可以在共享的多用户中有效分配,对信号进行调制或转换使得用户设备中的数字信号定义能与信道上实际传送的数字信号相匹配
  4.makefile文件的作用是什么?
  一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后 编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile像一个Shell脚本一样,其中也可以执行操作系统的命令。makefile带来的好处是——“自动化编译”,一旦写好,只需要一个 make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大 多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。
  5.UNIX显示文件夹中文件名的命令是什么?能使文件内容显示在屏幕的命令是什么?
  ls cat
  type tail
  6.Linux文件属性有哪些?(共十位)
  -rw-r--r—1
  第一个属性代表这个文件是【目录、文件或连结文件】,当为[ d ]则是目录,为[ - ]则是文件,若是[ l ]则表示为连结档(link file);
  若是[ b ]则表示为装置文件里面的可供储存的接口设备;
  若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。
  接下来的属性中,三个为一组,且均为【rwx】三个参数的组合,其中[r]代可读、
  [w]代表可写、[x]代表可执行:
  第一组为【拥有人的权限】,
  第二组为【同群组的权限】;
  第三组为【其它非本群组的权限】。
  7.Linux中常用到的命令
  显示文件目录命令ls
  改变当前目录命令cd  如cd / /home
  建立子目录mkdir  mkdir xiong
  删除子目录命令rmdir  如 rmdir /mnt/cdrom
  删除文件命令RM  如 rm /ucdos.bat
  文件复制命令cp   如 cp /ucdos/* /fox
  获取帮助信息命令man 如 man ls
  显示文件的内容less 如 less mwm.lx
  重定向与管道type 如type  readme>>direct,将文件readme的内容追加到文direct中
  8.进程通信有哪些方式?
  管道通信、消息通信、内存共享
  9.说说分段和分页。
  页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
  段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。页的大小固定且由系统确定,把逻辑地址划分为页号和页内 地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。 段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
  分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址