需继续努力
1、嵌入式底层开发为什么选择C语言 C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码,并且不需要任何运行环境支持便能运行的编程语言,其移植性好,能够在多种不同体系结构的软件或硬件平台上运行。 相对来说,c语言在高级语言中是最贴近物理层面的语言,经过一系列的编译转换,最终他会成为0101的机械码,可以操作硬件,并且具有简洁紧凑、使用灵活的语法机制。 c语言具有很高的运行效率。在芯片上执行的程序,c语言仅次于汇编。执行效率大概在80%左右。
2、什么是实时性,什么是硬实时,什么是软实时
实时性指时钟信号能够准确的定时,各处的时钟能够达到一致。 硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。 软实时系统是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。
3、Linux和unix之间的联系或者关系 Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。 4、 Linux主流的发行版有哪些及特点? Ubuntu:基于Debian开发的开源Linux操作系统,主要针对桌面和服务器 Linux Mint:基于Debian和Ubuntu的Linux发行版,致力于桌面系统对个人用户每天的工作更易用,更高效,且目标是提供一种更完整的即刻可用体验。 suse:基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。 OpenSUSE:由suse发展而来,旨在推进linux的广泛使用,主要用于桌面环境,用户界面非常华丽,而且性能良好 rhel(red hat enterprise Linux):Red Hat公司发布的面向企业用户的Linux操作系统。早起版本主要用于桌面环境,免费: Fedora:基于Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的Red Hat Enterprise Linux取代Red Hat Linux在商业应用的领域。Fedora的功能对于用户而言,它是一套功能完备、更新快速的免费操作系统,而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora大约每六个月发布新版本 CentOS:基于Red hat Linux提供的可自由使用源代码的企业级Linux发行版本。每个版本的Centos都会获得十年的支持(通过安全更新的方式)。新版本的Centos大约每两年发行一次,而每个版本的Centos会定期(大概6个月)更新一次,以支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的Linux环境。
5、有哪些虚拟机软件?特点? VirtualBox:开源,体积小,不同于VM,而且功能强大,可以在 Linux/Mac 和 Windows 主机中运行,并 支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统. VMware Workstation:不需要重开机就能在同一台电脑使用好几个OS。 Virtual PC:能够在一台 PC 上同时运行多个操作系统,使用不用重新启动系统,只要点击鼠标便可以打开新的操作系统或是在操作系统之间进行切换。安装该软件后不用对硬盘进行重新分区或是识别,就能够非常顺利地运行你已经安装的多个操作系统,而且还能够使用拖放功能在几个虚拟 PC 之间共享文件和应用程序。 Parallels Desktop:是一款 Mac 电脑上最强的虚拟机软件。用户可以在 OS X 下同时运行 Windows、Linux 等操作系统及应用而不必繁琐重复地重启电脑,并能轻松在 Win 与 Mac 等不同系统之间切换。 6、如何解决userdel删除用户的问题? 可使用vipw命令: root@ per# vipw 找到之前创建的用户,用dd删除那行(记得保存:wq or :x)。 root@per# vipw -s 找到那个用户所属组,也dd干掉即可(记得保存:wq or :x)。
7、罗列根目录中所有子目录的功能及存放的文件类型 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 /root 系统管理员的主目录(呵呵,特权阶级) /mnt 系统提供这个目录是让用户临时挂载其他的文件系统。 /lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 /proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。 /var 某些大文件的溢出区,比方说各种服务的日志文件 /usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含: /usr/x11r6 存放x window的目录 /usr/bin 众多的应用程序 /usr/sbin 超级用户的一些管理程序 /usr/doc linux文档 /usr/include linux下开发和编译应用程序所需要的头文件 /usr/lib 常用的动态链接库和软件包的配置文件 /usr/man 帮助文档 /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的库根文件系统 通常情况下,根文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不需要 经常改动,而且包括严格的文件和一个小的不经常改变的文件系统不容易损坏。 除了可能的一个叫/ v m l i n u z标准的系统引导映像之外,根目录一般不含任何文件。所有 其他文件在根文件系统的子目录中。
/bin目录 / b i n目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序( b i n是b i n a r y - -二进制的简称),多是系统中重要的系统文件。 /sbin目录 / s b i n目录类似/bin ,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使 用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。 /etc目录 / e t c目录存放着各种系统配置文件,其中包括了用户信息文件/ e t c / p a s s w d,系统初始化文件/ e t c / r c等。l i n u x正是*这些文件才得以正常地运行。 /root目录 /root 目录是超级用户的目录。 /lib目录 / l i b目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文 件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副 本,故可以使得可执行文件变得更小,节省空间。 /lib/modules 目录 /lib/modules 目录包含系统核心可加载各种模块,尤其是那些在恢复损坏的系统时重新引 导系统所需的模块(例如网络和文件系统驱动)。 /dev目录 / d e v目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用 户可以通过访问/ d e v / m o u s e来访问鼠标的输入,就像访问其他文件一样。 /tmp目录 /tmp 目录存放程序在运行时产生的信息和数据。但在引导启动后,运行的程序最好使用 / v a r / t m p来代替/tmp ,因为前者可能拥有一个更大的磁盘空间。 /boot目录 / b o o t目录存放引导加载器(bootstrap loader)使用的文件,如l i l o,核心映像也经常放在这里, 而不是放在根目录中。但是如果有许多核心映像,这个目录就可能变得很大,这时使用单独的 文件系统会更好一些。还有一点要注意的是,要确保核心映像必须在i d e硬盘的前1 0 2 4柱面内。 /mnt目录 / m n t目录是系统管理员临时安装( m o u n t )文件系统的安装点。程序并不自动支持安装到 /mnt 。/mnt 下面可以分为许多子目录,例如/mnt/dosa 可能是使用m s d o s文件系统的软驱, 而/mnt/exta 可能是使用e x t 2文件系统的软驱,/mnt/cdrom 光驱等等。 /proc, /usr,/var,/home目录 其他文件系统的安装点。