您的位置:首页 > 运维架构 > Linux

苏嵌实训-嵌入式 linux C 第1 天

2020-07-14 06:33 281 查看

项目开发日报表

项目名称
【苏嵌实训-嵌入式 linux C 第1 天】

今日进度以及任务 学会Linix虚拟机的使用,学会一些基本的指令,复习C语言,知道什么是嵌入式,及操作系统和嵌入式的关系

本日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) 会使用Linix虚拟机,基本的操作指令还是不太熟悉,C语言还要多复习,明白了什么是嵌入式,及操作系统和嵌入式的关系

本日开发中出现的问题汇总 要修改vim,要先获得root 权限,在Linix系统中更方便使用C语言的一些操作不太懂。没能成功修改用户对文件的权限,对文件的一些操作还不太懂

本日未解决问题 没能成功修改用户对文件的权限,没能成功在命令界面成功运行语言

本日开发收获 学会了操作命令的一些基本的指令,懂得了操作系统和嵌入式的关系,知道了什么是嵌入式,会在Linix命令界面使用和写C语言

其他

课后作业
1.嵌入式底层开发为什么选择c语言?
解:嵌入式开发是在操作系统内部做开发的,操作系统所有的内核几乎都是C语言编写,用c语言开发嵌入式更有优势,和其他高级语言相比C程序运行效率高,占用内存少,在安全性和开发效率方面则比汇编好,而这些恰好是嵌入式底层开发所需要的。
2.什么是实时性?硬实时和软实时?
解:实时性是指一个实时操作系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。请注意,必须要满足确定性,而不是要求速度足够快系统必须在特定的时间内完成指定的应用,具有较强的刚性。
硬实时:硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。
软实时:软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,仅仅是轻微的降低了系统的吞吐量。
3.Linux与Unix之间的联系或关系?
解:Linux和UNIX的最大的区别是,前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件,用户对前者有很高的自主权,而对后者却只能去被动的适应,前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触的产品的原型。Linux 的源头要追溯到最古老的UNIX,但Linux并没有包括Unix源码。它是按照公开的POSIX标准重新编写的。Linux大量使用了由麻省剑桥免费软件基金的GNU软件,同时Linux自身也是用它们构造而成。UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。
4.Linux主流的发行版本有哪些及其特点?
解:
1.CLinuxOS: CLinuxOS的理念是秉承“简单易用,安全无忧”的理念,无需安装可直接运行于CD上,集成的程序丰富。不过LiveCD由于光盘的数据读取速度限制导致性能下降。
2.Ubuntu:Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux操作系统。而且具有人 气颇高的论坛提供优秀的资源和技术支持,固定的版本更新周期和技术支持,适于新手使用。是当前最流行的发行版之一。
3.Debian: Debian是迄今为止,最遵循GNU规范的Linux系统,Debian具有优秀的网络和社区资源,强大的apt- get,许多发行版都是基于Debian的,最有影响力的发行版之一。不过Debian安装相对不易,stable分支的软件极度过时,不适于新手使用。
4.red Hat Enterprise Linux: RedHat拥有强大的资源管理系统,稳定的应用开发,集成的虚拟化操作(KVM),企业级的管理性能。RedHat是一个商业的操作系统,所以你必须支付一定的费用给RedHat基金。
5.Cent OS:Cent OS是一个社区企业级操作系统,其基础的架构与RedHat基本相同,只是license与RedHat不一样。Cent OS是一个免费且开源的发行版,是一个为专家级用户制定的操作平台。
6.SUSE Linux Enterprise Desktop:SUSE Linux Enterprise桌面系统是一个非常好的桌面操作系统,它拥有其它付费操作系统的所有功能。使用SUSE Linux Enterprise桌面系统,你可以将你的整体成本减少90%。它基于开源平台,安全、稳定,并且由Novel提供企业级的系统支持。它是为与Windows,UNIX,MAC和其它操作系统交互共存而设计。它支持各类文件格式,如MS Office格式,音频/视频格式等。
7.Back Track:对于安全相关的测试,Back Track是最佳选择。它具有非常多的内置工具和插件,可以用来测试网站和网络安全。Back Track是一个基于Debian的操作系统,它能提供一种渗透测试的方法模型,这种方法能够帮助安全专家在遇到黑客攻击时,能够提供一种原生环境的估计能力。

5.有哪些虚拟机软件?特点?
1.VirtualBox:他是开源的,不同于VM,而且功能强大,可以在 Linux/Mac 和 Windows 主机中运行,并 支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统.
2.VMware Workstation:Mware主要的功能有: 1.不需要分区或重开机就能在同一台PC上使用两种以上的操作系统. 2.完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料. 3.不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制贴上功能. 4.有复原(Undo)功能. 5.能够设定并且随时修改操作系统的操作环境,如:内存、磁碟空间、周边设备等等.
3.Virtual PC:它能够让你在一台 PC 上同时运行多个操作系统,使用它你不用重新启动系统,只要点击鼠标便可以打开新的操作系统或是在操作系统之间进行切换。安装该软件后不用对硬盘进行重新分区或是识别,就能够非常顺利地 运行你已经安装的多个操作系统,而且还能够使用拖放功能在几个虚拟 PC 之间共享文件和应用程序。
6:如何解决使用userdel删除用户的问题?
1.一般我们移除,都是先把用户从组中删除,再依次把组删掉,但是这里出现了问题:
root@ www.linuxidc.com :/home/crper# userdel -r test1
userdel: user test1 is currently used by process 1
root@ www.linuxidc.com :/home/crper# groupdel work1
groupdel:不能移除用户“test1”的主组
删除该用户就提醒用户当前在进程运行,删除他的组也报错
解决方法:可使用vipw命令:root@ www.linuxidc.com :/home# vipw 找到之前创建的用户,用dd删除那行(记得保存:wq or :x)。root@ www.linuxidc.com :/home# vipw -s
找到那个用户所属组,也dd干掉即可(记得保存:wq or :x)使用vipw -s的原因只有一个,就是必须保证数据的一致性,不然可能会造成系统崩溃等问题。
2.userdel:删除密码项时出错 userdel:删除影子密码项时出错
解决方法:让用户恢复正常再删除
vi /etc/passwd 添加pipetest:!!:15056:0:99999:7:::(不一定所15056,而是在最后一行数目上加3)

7:罗列根目录中所有子目录的功能及存放的文件类型
解:bin
bin是binary的缩写,是UNIX类操作系统中根目录的标准子目录,包含可执行的程序(即准备运行的程序),以便达到启动(即启动)和修复系统的最小功能。
打开 bin目录我们发现。这里面有我们常用的很多命令:cat、mv、cp、su、等。
所以这里面存放着使用者最经常使用的命令。/bin是系统默认的路径,它是系统发出命令时搜索相应程序的目录列表。这意味着,只要在命令行中输入文件名,然后按下Enter键,就可以运行/bin中的对应的可执行文件(即,可运行程序)从而达到我们执行命令完成对应功能的操作。
boot
这里面存放的是启动Linux时使用的一些核心文件。Linux的引导过程是Linux上的开源操作系统在计算机上的初始化。它涵盖了从初始引导到启动初始用户空间应用程序的许多步骤。
该目录包含启动过程所需的所有内容,除了在启动时不需要的配置文件(最明显的是属于grub引导加载程序的那些)和map安装程序。因此,/boot目录存储在内核开始执行用户模式程序之前使用的数据。这可能包括冗余备份(备份)主引导记录、扇区/系统映射文件、内核和其他重要的引导文件和手工不直接编辑的数据。安排引导加载程序能够引导文件所需的程序放置在/sBin中。引导加载程序的配置文件被放置在/等等。系统内核位于/或/或引导(或在Debian下/引导下,但实际上是按照FSSTND符号连接)。
dev
dev是device(设备)的缩写。是Linux内核的设备管理器。作为devfsd和热插拔的继承者,udev主要管理/dev目录中的设备节点。/dev是特殊文件或设备文件的位置。它突出显示了Linux文件系统的一个重要方面——一切皆文件/目录。HDA1,HDA2等…它表示系统的第一个主驱动器上的各个分区。/DEV/CDROM和/DEV/FD0代表您的CD-ROM驱动器和软盘驱动器
etc
etc目录用来存放系统管理所需要的配置文件和子目录。这是我们linux系统的神经中枢,它包含所有与系统相关的配置文件。一个“配置文件”要被定义为用来控制程序操作的本地文件;它必须是静态的,不能是可执行二进制文件。因此,定期备份这个目录是个好主意。
home
使用用户的主目录,比如说有个用户叫zhang,那他的主目录就是/home/zhang我们通常同“~”来表示家目录。
lib
这个目录里存放着内核模块和系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用到这些共享库,是二进制文件。它们对于基本系统功能是必不可少的。
media
这是linux中的播放器。Linux媒体播放器和任何其他媒体播放器一样做同样的事情:播放音频和视频。在本文中,“Linux媒体播放器”被用于作为Linux视频播放器和Linux音频播放器的双重任务的软件
usr
usr 不是user的缩写,全拼是Unix System Resources。这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下,是用于系统范围的配置文件。
var
var是Linux和其他UNIX类操作系统中根目录的标准子目录,它包含系统在其运行过程中写入数据的文件。
tmp
在UNIX和Linux中,tmp目录是存放临时文件的地方。Web浏览器在页面浏览和下载期间定期向TMP目录写入数据。
srv
一般是空的,srv包含由该系统服务的站点特定数据。指定这一点的主要目的是使得用户可以找到针对特定服务的数据文件的位置,从而可以合理地放置需要单个树用于只读数据、可写数据和脚本(例如CGI脚本)的服务。只对特定用户感兴趣的数据应该进入用户的主目录。
root
root包含一个先进的GNU/Linux操作系统。它的目标是稳定、灵活和快速。root是一个通用系统,包括服务器和工作站使用的软件。root包括现代和强大的桌面环境。它是系统管理员的主目录。作为系统的拥有者,它的特权就是单独拥有一个目录。
opt
这个目录是为所有不属于默认安装的软件和附加包保留的。因为要遵守FSSTND,所有第三方应用程序都应该安装在这个目录中。在这里安装的任何包都必须找到它的静态文件(如:额外的字体、剪贴板、数据库文件)必须将其静态文件定位在单独的opt的目录树中。
proc
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。通常,它是由系统自动安装的,而且大多数文件是只读的。
sbin
和一开始我们讲的bin类似,s就是super 的意思,/sbin是Linux和其他UNIX类操作系统中root目录的标准子目录,包含可执行程序(即准备运行)程序,也就是说这里存放的是系统管理员使用的管理程序。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: