第一次作业 1.嵌入式底层开发为什么要选择C语言
1.嵌入式开发需要与操作系统打交道,而操作系统对实时性要求比较高,C语言适合作系统描述语言,它就是为编写操作系统而设计的。既可用来编写系统软件,也可用来编写应用软件。 2.C语言的运行速度快,执行效率高,它提供底层硬件的控制方法,是唯一能够用来编写设备驱动的 3.C程序的书写自由,给予开发人员的控制权多,提供丰富的操作符集合,它的兼容性好,可移植性强 4.C语言的开源项目多,开源项目和社区大都是使用C语言,嵌入式开发可以直接用这些免费的开源资源 2.什么是实时性?硬实时和软实时?
在一个分时操作系统中,计算机资源会被平均地分配给系统内所有的工作。在分时系统中,各项任务需要花多长时间来完成,这一点并不重要;而在一个实时操作系统之中,最关注的是每个任务在多长时间内可以完成。简单地说,实时和分时操作系统最大的不同在于 时限(deadline)这个概念。 从上述区别中可以看出,在实时操作系统中,系统必须在特定的时间内完成指定的应用,具有较强的刚性,而分时操作系统则注重将系统资源平均地分配给各个应用,不太在意各个应用的进度如何,什么时间能够完成。不过,就算是实时操作系统,其刚性和柔性的程度也有所不同,就好像是系统的硬度有所不同,因而有了所谓的硬实时(hard real-time)和软实时 ( soft real-time)。硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。 硬实时与软实时之间最关键的差别在于,软实时只能提供统计意义上的实时。 3.Linux和unix之间点的联系与区别。
Linux和UNIX的最大的区别是,前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这应该是他们最大的不同,这种不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触的产品的原型 4.Linux的主流版本有哪些及特点。
1 ubuntu 桌面版系统对于不擅长系统操作命令的人员,使用比较方便 2 SUSE 网络服务功能强的系统如果想把服务器充当路由设备,或邮件服务器,可以关注 3 Debian 安全性较好系统有些对系统安全性要求高的企业会作为优选 4 Redhat 红帽公司官方系统是很多国企或外企服务器中常用系统,需要进行付费,有官方服务支持 5 centos 红帽公司免费版系统大多数互联网公司服务器常用系统,可以部署的服务多样,稳定性也比较高 5:有哪些虚拟机软件及特点?
1 Microsoft Virtual PC 2007优点:简单易用,兼容好。缺点:不支持linux及其他系统,性能极差 2VMware Workstation优点:技术先进,自定义范围大,流畅支持虚拟机里的Windows7、Vista Aero(仅限VMware Workstation7)缺点:操作复杂,收费,且安装包大的要命。 3Virtaul Box优点:开源,支持3D(不支持Windows下3D)缺点:速度较慢。 4Windows Virtual PC(主机必须安装Windows7)差不多就是Microsoft Virtual PC 2007的升级版,但是比Virtual PC好的多优点:简单易用,支持虚拟机内Aero特效,拥有完善的联合模式,能和实系统融为一体缺点:速度不快…而且对主机系统有限制 6.如何解决使用userdel删除用户的问题(两种解决方法)
1root@ per# vipw 找到之前创建的用户,用dd删除那行(记得保存:wq or :x)。 2root@per# vipw -s 找到那个用户所属组,也dd干掉即可(记得保存:wq or :x) 使用vipw -s的原因只有一个,就是必须保证数据的一致性,不然可能会造成系统崩溃等问题。 7.罗列根目录下的所有子目录的功能及存放的文件类型 root 开机引导目录 包括Linux内核文件与开机所需要的文件 bin 存放普通用户可执行的指令 即使在单用户模式下也能够执行处理 etc 各种配置文件目录 大部分配置属性均存放在这里 dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中 lib/lib64 开机时常用的动态链接库 bin及sbin指令也会调用对应的lib库 media 可移除设备挂载目录 类似软盘 U盘 光盘等临时挂放目录 opt 第三方软件安装目录 现在习惯性的放置在/usr/local中