作业: 一、嵌入式底层开发为什么选择C语言? 答: 第一点:嵌入式是对操作系统的移植,而操作系统的开发中无论是上层应用层还是底层驱动都需要用到 C语言。C语言是面对结构语言,相对于那些面对对象语言,更适合解决嵌入式开发这种具体的工作 。 第二点:C语言有三大特点:1.良好的移植性 2.能够直接访问硬件 3.运行效率高这也是它能够被选择的主要原因。 良好的移植性:C语言在不同的软件平台,拥有相同的语法。在不同的硬件平台下同样适用。所以C语言可以在不同的软硬平台,进行很好地移植。 直接访问硬件: C语言中,我们可以通过指针控制内存以及寄存器。 我们知道汇编和C语言都可以直接访问硬件。但汇编的语法较为简单。因此在复杂的算法中,我们用C语言。而汇编用于初始化(启动方面)。 运行效率:C语言可以直接生成硬件识别的机器码。而其他的高级语言需要相应的语言解释器,再编译
二、什么是实时性,什么是硬实时,什么是软实时? 答: 1、实时性指时钟信号能够准确的定时,各处的时钟能够达到一致。 2、硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。 3、软实时系统是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。
三、Linux和Unix之 间的关系? 答: Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。Linux是在unix的基础旳的微创新或者改进。相比于 UNIX,Linux 最大的创新是开源免费,这是它能够蓬勃发展的最重要原因;而目前的 UNIX 大部分都是收费的,小公司和个人都难以承受。正是由于 Linux 和 UNIX 有着千丝万缕的联系,所以人们把 Linux 叫做“类UNIX系统”。
四、Linux主流的发行版有哪些及特点? 答: 1.Red Hat Enterprise Linux:一个强大的服务器操作系统,拥有企业级的支持系统。 Red Hat Enterprise Linux支持所有领先的硬件架构平台(具有跨平台的兼容性),并支撑10年以上升级和技术支持的生命周期RedHat拥有强大的资源管理系统,稳定的应用开发,集成的虚拟化操作(KVM),企业级的管理性能。 2.Cent OS:一个为专家级用户制定的操作平台 Cent OS是一个社区企业级操作系统,其基础的架构与RedHat基本相同,只是license与RedHat不一样。Cent OS是一个免费且开源的发行版。如果你需要一个免费企业级的服务器版本,同时不需要技术支持,那么Cent OS对你来说是一个更好的解决方案。Cent OS具有非常好的社区支持,并有大量丰富的文档。 3.Ubuntu:一个简单但强大的操作系统,适合初级用户 安装简单,极棒的桌面界面,支持多种软件,还可以运行Windows软件,是初级用户的最佳选择。Ubuntu在互联网上有一个庞大的社区。在文档区,你可以找到各种问题和解决方案。Ubuntu是一个基于Debian发行版的系统,它既有桌面版也有服务器版。你可以使用Windows的安装方法来安装Ubuntu。Ubuntu的一个最好的特性是:你在其它操作系统中完成的事情,你能够在Ubuntu中用更快、更安全的方式完成。 4.SUSE Linux Enterprise Desktop:一个很好的面向桌面的操作系统 SUSE Linux Enterprise桌面系统是一个非常好的桌面操作系统,它拥有其它付费操作系统的所有功能。使用SUSE Linux Enterprise桌面系统,你可以将你的整体成本减少90%。它基于开源平台,安全、稳定,并且由Novel提供企业级的系统支持。SUSE Linux Enterprise桌面系统是目前最流行的可交互操作系统,它是为与Windows,UNIX,MAC和其它操作系统交互共存而设计。它支持各类文件格式,如MS Office格式,音频/视频格式等。 5.Back Track:安全专家的最佳选择 对于安全相关的测试,Back Track是最佳选择。它具有非常多的内置工具和插件,可以用来测试网站和网络安全。Back Track是一个基于Debian的操作系统,它能提供一种渗透测试的方法模型,这种方法能够帮助安全专家在遇到黑客攻击时,能够提供一种原生环境的估计能力。 五、有哪些虚拟机软件?特点是什么? 答:VirtualBox,VMware Workstation,Virtual PC。 VirtualBox VirtualBox最早是德国一家软件公司InnoTek所开发的虚拟系统软件,后来被Sun收购,改名为Sun VirtualBox,性能有很大的提高.因为他是开源的,不同于VM,而且功能强大,可以在 Linux/Mac 和 Windows 主机中运行,并 支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统.假如你曾经有用过虚拟机软件的经历的话,相信使用 VirtualBox 不在话下。即便你是一个新手,也没有关系。VirtualBox 提供了详细的文档,可以助你在短期内入门。 VMware Workstation 不需要重开机就能在同一台电脑使用好几个OS.VMware主要的功能有: 1.不需要分区或重开机就能在同一台PC上使用两种以上的操作系统. 2.完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料. 3.不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制贴上功能. 4.有复原(Undo)功能. 5.能够设定并且随时修改操作系统的操作环境,如:内存、磁碟空间、周边设备等等. Virtual PC 它能够让你在一台 PC 上同时运行多个操作系统,使用它你不用重新启动系统,只要点击鼠标便可以打开新的操作系统或是在操作系统之间进行切换。安装该软件后不用对硬盘进行重新分区或是识别,就能够非常顺利地运行你已经安装的多个操作系统,而且还能够使用拖放功能在几个虚拟 PC 之间共享文件和应用程序。 VirtualBox对于VMware的优点 (1)VirtualBox是免费开源的,而VMware不是。 (2)VirtualBox体积小,安装完成后,也只有60M左右,而VMWare5、6安装后很庞大。 (3)VirtualBox将虚拟机中的安装的操作系统以硬盘的方式进行保留,在不同计算机之间转移系统时,需要新建虚拟机,其后为其指定原来操作系统所在的硬盘,这样就不会产生网络连接问题;而VMware将虚拟机中的操作系统直接按虚拟机文件进行保存,一但需要在不同计算机之间转移系统,会造成原虚拟机中的操作系统MAC地址错误,不能在新的计算机中进行网络连接。 (4)VirtualBox并不象VMWare那样直接在系统安装虚拟网卡,这对系统安装带来极大方便。
六、如何解决使用userdel删除用户的问题(2种方法)? 答: 1、可使用vipw命令: 使用vipw删除创建的用户 使用vipw -s 删除创建的用户组 2、.userdel 提供了 -f 选项来强制删除用户。甚至当用户已经登入 Linux 系统时此选项仍旧生效。
七、罗列根目录中所有子目录的功能及存放的文件类型? 答: 1、/bin:里边包含了一般程序工具,用户、管理员、系统都可以调用。比如常用的ls、cp、cat、mv等等。 2、/boot:系统启动文件和内核,在有些发行版中还包括grub,grub是一种通用的启动引导程序。 3、/dev:系统设备文件目录,除cpu外的所有的硬件设备都会抽象成特殊的文件放在这里,虚拟设备也放在这里。 4、/etc:包含了大部分重要的系统配置文件,这里文件的作用类似windows中的控制面板。 5、/home:一般用户目录,一般一个用户对应一个目录,保存用户的数据。 6、/lib、/lib64:库文件,包含了所有系统和用户需要的程序文件,64表示64位,但实际上除特殊的库,大部分还是链接到了lib目录下。 7、/media:磁盘设备自动挂载的位置。按照用户分类,每一个用户目录下有其磁盘目录。 8、/mnt:标准挂载点,可以挂载外设磁盘。 9、/opt:一般存放第三方软件。 10、/proc:包含系统资源信息的虚拟文件系统,提供了一个接触内核数据的接口,大部分是只读的,有些允许改变。系统运行时才有文件。 11、/root:root用户的家目录。 12、/sbin:系统和系统管理员用到的程序工具。 13、/sys:与proc类似的虚拟文件系统,都是内核提供给用户的接口,可读可写。 14、/tmp:系统使用的临时空间,重启后会清空。 15、/usr:包含各种程序、库、文档,所有相关用户都可以使用。 16、/var:包含一些用户可变的或临时的文件,比如log文件、邮件队列、网络下载的临时文件等等。