标题实训第一天作业
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中
项目名称 | 苏嵌实训-嵌入式LinuxC 第一天 |
---|---|
今日进度及任务 | 今天在老师的带领下学习了Linux的一些基本命令和操作,熟悉了Linux系统的操作方法,也在熟悉这种页面操作的方式 |
本日任务完成情况 | 思考题已完成,额外命令已完成 |
本日开发中出现的问题汇总 | 不熟悉命令行开发页面操作艰难 |
本日未解决问题 | 不熟悉命令行开发页面操作艰难 |
本日开发收获 | 在轻松的环境中学习了Linux环境下开发的基础方法 |
其他 | 需温习c语言这门大一学习却伴随了整个大学生涯的语言 |