苏嵌实训-嵌入式Linux C 第一天

俞飞鸣
2023-12-01
项目名称苏嵌实训-嵌入式Linux C 第一天
今日进度以及任务嵌入式开发概述及嵌入式LinuxC项目演示
今日开发中出现的问题汇总1.嵌入式底层开发为什么选择C语言?
2.什么是实时性?硬实时?软实时?
3.Linux和Unix之间的联系/关系?
4.Linux主流的发行版有哪些特点?
5.虚拟机软件的种类及特点。
6.如何解决使用userdel无法删除用户的问题?(至少两种)
7.罗列根目录中所有子目录的功能及存放的类型。
今日未解决问题课后部分C语言练习题
今日开发收获经过一天的学习对Linux的基本指令有了初步了解,对以上问题有了更深的理解与认识,课程最后的C语言练习,对以前的知识进行了回顾和总结,查缺补漏。

一、嵌入式底层开发为什么选择C语言?

  1. C语言能够直接访问硬件,执行效率高。
  2. C语言的可移植性较好,适应于嵌入式系统软硬件结合的特点。
  3. C语言属于计算机基础语言,相比较于其他语言更简单易懂,方便学习。

二、什么是实时性?什么是硬实时?软实时?

实时性是指计算机系统在确定的时间内完成规定功能,并对外来事件在确定的时间内做出反应的能力。又可分为软实时和硬实时两种。

硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害。甚至导致系统失败、或者导致系统不能实现它的预期目标。

软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在
网络中仅仅是轻微地降低了系统的吞吐量。

三、Linux和unix之间的联系/关系?

Linux是开发源代码的自由软件,可运行在多种硬件平台上。是一个类似 Unix 的操作系统,
按照UNIX公开的POSIX标准重新编写的,二者在外观和交互上非常类似。
UNIX是对源代码实行知识产权保护的传统商业软件,内核是不公开的。UNIX的历史比Linux更加久远。

四、Linux主流的发行版有哪些特点

1.PCLinuxOS
PCLinuxOS的理念是秉承“简单易用,安全无忧”的理念,无需安装可直接运行于CD上,集成的程序丰富。不过LiveCD由于光盘的数据读取速度限制导致性能下降。

2.Ubuntu
Ubuntu 就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux操作系统。Ubuntu是一个相对较新的发行版,安装简便。并且,Ubuntu被誉为对硬件支持最好最全面 的Linux 发行版之一,许多在其他发行版上无法使用,或者默认配置时无法使用的硬件,在Ubuntu上都可以使用。Ubuntu采用自行加强的内核(kernel),安全性能更好。Ubuntu的版本周期为六个月,弥补了Debian更新缓慢的不足。而且具有人 气颇高的论坛提供优秀的资源和技术支持,固定的版本更新周期和技术支持,适于新手使用。是当前最流行的发行版之一。

3.openSUSE
SUSE是Novell公司的著名Linux发行版,自主开发的专业,易用的YaST软件包管理系也大受好评。SUSE是一个非常专业、优秀的发行版,一向以华丽的用户界面著称。使用方便,也是当前最流行的版本之一。

4.Fedora
Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux(可用CentOS替代,是RHEL的克隆版,免费),以及由社区开发的免费的Fedora Core。FC的定位便是桌面用户。FC提供了最新的软件包,同时它的版本更新周期也非常短,仅六个月。Fedora拥有数量庞大的用户,优秀的社区技 术支持,许多创新。是当前最流行的版本之一。

5.Debian
Debian 是迄今为止,最遵循GNU规范的Linux系统。dpkg是Debian系列特有的软件包管理工具,它被誉为所有Linux软件包管理工具(比如RPM) 最强大的!配合apt-get,在Debian上安装、升级、删除和管理软件变得异常容易。Debian具有优秀的网络和社区资源,强大的apt- get,许多发行版都是基于Debian的,是最有影响力的发行版之一。不过Debian安装相对不易,stable分支的软件极度过时。

6.Mandriva
Mandrake是基于Redhat的发行版。使用KDE,简化了安装系统。Mandrake在易用性方面的确是下了不少功夫,包括默认情况下的硬件检测等。具有友好的操作界面,图形配置工具,庞大的社区技术支持,是国际上比较有影响力的版本之一。

7.Damn Small
Damn Small Linux是一套非常小的(50M字节)可启动光盘的Linux发行版。尽管它的个头小,它努力成为一份可用并且易用的桌面。Damn Small Linux的桌面几乎是完整的一套,可进行简单媒体播放、FTP客户端、进行网页浏览、有简单的字处理及制表软件、可阅读电子邮件及pdf文件、文件管理 器、naim(支持AIM、ICQ和IRC)、远程控制支持网络,宽带拨号及做服务器,还有一些简单小工具、系统监视软件、USB支持及PCMCIA支持。可以运行在486的cpu及16M的内存中。是一个非主流的特色发行版。

8.Slackware
Slackware是一个历史悠久的Linux发行版。其他主流发行版强调易用性的时候,他Slackware是一个历史悠久的Linux发行版。其他主流发行版强调易用性的时候,他依然固执的追求最原始的效率——所 有的配置均还是要通过配置文件来进行。Slackware稳定、安全,所以有大批的忠实用户。由于尽量采用原版的软件包而不进行任何修改,所以制造新 bug的几率比较低。Slackware的版本更新周期较长。系统非常稳定、安全,并且高度坚持UNIX的规范。

9.Puppy
Puppy Linux是一个十分小巧的 Linux 发行版,其ISO映像文件容量约为 100 MB 左右。正所谓“麻雀虽小,五脏俱全”。 在 Puppy Linux 中所包含的系统工具、网络软件、办公应用、影音娱乐可是都不可或缺。Puppy Linux 不仅整个系统都可在内存中运行,而且还支持从各种存储介质启动运行,如优盘、光盘、硬盘等。与dsl linux相比puppy更完整,更容易汉化,不过需要的系统要求也更高、安装文件更大。

10.Gentoo
Gentoo 具有高度的自定制性:因为它是一个基于源代码的(source-based)发行版。尽管安装时可以选择预先编译好的软件包,但是大部分使用Gentoo 的用户都选择自己手动编译。所以Gentoo适合比较有Linux使用经验的老手使用。但是注意的是,由于编译软件需要消耗大量的时间,所以如果你所有的 软件都自己编译,并安装桌面系统则需要较长的时间。GENTOO是一个极有特色的发行版,优点是具有高度的可定制性,完整的使用手册,媲
美Ports的 Portage系统,运行速度极快,适合“臭美”的高手使用。也是现在比较流行的发行版之一。

11. FreeBSD
FreeBSD不是一个Linux系统,但是FreeBSD的用户也相当多,其许多特性都
与Linux相类似。FreeBSD作为服务器是相当优秀的。同样的服务器硬件配置,运行同样的一个vBulletin论坛,FreeBSD所用的资源要比Linux少。网上许多的站点都是使用的 freebsd。除了作为服务器外,也可用于桌面用户。freebsd的优点:速度快,非常稳定,具有优秀的使用手册以及方便的Ports软件包管理系 统。缺点也明显:比起Linux而言对硬件的支持较差,作为桌面系统,软件的兼容性不佳。

12.Arch
Arch Linux是针对i686优化的linux发行版。Arch 基本理念是快速、轻巧、弹性与简单。Arch 是为 i686 处理器优化的。相较于RedHat或是其他的Linux而言非常轻巧,而且简单的设计使他富有弹性。运行速度极快,是运行速度最快的几个发行版之一。其特有的包管理是pacman,一个命令就让您升级整个系统,同时安装软件也非常方便。

13.KNOPPIX
Knoppix, 是一个基于Debian的发行版。Knoppix是一款LiveCD Linux,所谓的LiveCD就是整个操作系统都在一张光盘上,只要开机从光盘启动,就能拥有一个完整的Linux系统!无需安装!Knoppix也能 够非常轻松的安装到硬盘上。其强大的硬件检测能力、系统修复能力、即时压缩传输技术,都令人大加称赞。由于无需安装可直接运行于CD上,加上其优秀的硬件检测能力,使它可作为系统急救盘使用,缺点也是由于光盘的数据读取速度限制导致性能
下降。

14.Freespire
Freespire 是一份由社区建设推动的、基于Linux的操作系统,它结合了免费与开源软件的优点(社区推动、免费发布、源码开放等),并在用户认为适当时为他们提供将 私有编码解码器、驱动程序和应用软件包括进来的选择。Freespire由Linspire赞助开发,后者是基于Debian GNU/Linux的面向桌面的商用发行版。Freespire将推出的Click-n-Run(CNR)服务,加入一个CNR外挂程序。

15.Xandros
Xandros 特点是极其简单的安装和使用,适合完全没有经验的新手,安装完以后就能立即投入使用,自带非常不错的工具所以定位于那些没有任何Linux使用经验的新 手,或是习惯使用Windows的用户。Xandros的标准版和增强版都是商业软件。不过可以下载到免费的公开发行版。

16.Magic Linux
Magic linux是有国内社区制作的Linux发行套件。对中文的支持非常好,安装好不要配置什么就可以使用了。系統稳定性好,拥有国内Linux中最漂亮的界 面,以及丰富的应用软件,以及一流的中文支持和易用性。国内的linux发行版中最有特色的一个,对国内用户最值得推荐的国内Linux发行版。

17.LFS
LFS──Linux from Scratch,就是一种从网上直接下载源码,从头编译LINUX的安装方式。它不是发行版,只是一个菜谱,告诉你到哪里去买菜(下载源码),怎么把这些 生东西( raw code) 作成符合自己口味的菜肴──个性化的linux,不单单是个性的桌面。

18.Hiweed linux
Hiweed Linux基于Ubuntu Linux,适合中国的linux新手和老手使用。Hiweed桌面是一份已经配置好的中文桌面,安装后可直接使用,无需配置。

19.红旗 Linux
国内商业linux中有名的红旗Linux,红旗Linux在桌面领域主要致力于模仿Windows的界面和使用方法,以吸引更多的Windows用户转入其中。虽然也是使用rpm的包管理体系,但安装软件可以使用类似Windows的向导方式。国内比较流行。

20.新华Linux
新华Linux,也是国内一个商业公司的发行版。这是一个基于Debian的发行版。使用debian体系中默认的gnome。他的界面也以模仿linux为主。

五、虚拟机软件的种类以及特点有哪些?

1. 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 等系列的客户操作系统.

2.VMware Workstation
不需要重开机就能在同一台电脑使用好几个OS.VMware主要的功能有:

1.不需要分区或重开机就能在同一台PC上使用两种以上的操作系统.
2.完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料.
3.不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制贴上功能.
4.有复原(Undo)功能.
5.能够设定并且随时修改操作系统的操作环境,如:内存、磁碟空间、周边设备等等

3.Virtual PC
它能够让你在一台 PC 上同时运行多个操作系统,使用它你不用重新启动
系统,只要点击鼠标便可以打开新的操作系统或是在操作系统之间进行切
换。安装该软件后不用对硬盘进行重新分区或是识别,就能够非常顺利地
运行你已经安装的多个操作系统,而且还能够使用拖放功能在几个虚拟 P
C 之间共享文件和应用程序。

4.Parallels Desktop
Parallels Desktop是一款 Mac 电脑上最强的虚拟机软件。用户可以在 OS X 下同时运行Windows、Linux 等操作系统及应用而不必繁琐重复地重启电脑,并能轻松在 Win 与 Mac 等不同系统之间切换。
最新的 Parallels Desktop 9 完美支持 OS X Mavericks 和 Windows 8.1 并进行了特别优化,完美支持 Retina Macbook Pro 的视网膜屏幕,支持在 Win 中使用 Mac 的听写功能,调用IE浏览器打开网页、蓝牙共享、支持USB 3.0、改进了3D游戏/图形性能等等,可谓相当强悍!而且在性能和功能上比 VMWare Fusion 5 均有过之而无不及,是Mac系统虚拟化的最佳方案。

六、如何解决使用userdel无法删除用户的问题?

1.Ctrl + D退出当前登录用户,改用root用户登录
2.使用vipw命令:root@Ubuntu:~# vipw
把要删除的用户hdd所在的行删除,用 :wq 命令保存并退出vi编辑器
3.系统会给出提示:
您已经修改了 /etc/passwd。
出于一致性的考虑,需要修改 /etc/shadow。
使用命令“vipw -s”来进行这个工作。
4.按照系统提示进行操作:root@Ubuntu:~# vipw -s
同样的,把要删除的用户hdd所在的行删除,用 :wq 命令保存并退出vi编辑器
这时,系统又提示:
您已经修改了 /etc/shadow。
出于一致性的考虑,需要修改 /etc/passwd。
请使用命令“vipw”来进行这个工作。
5.回到#提示符,执行
root@Ubuntu:~# userdel -r hdd
系统提示:userdel:用户“hdd”不存在
说明hdd用户已经被删除了!

七、罗列根目录中所有子目录的功能及存放的类型

1、/ 根目录 :所有目录挂在其下
2、/boot :存放Ubuntu内核和系统启动文件。系统启动时这些文件先被装载。
3、/etc:系统的配置文件目录。密码文件、设置网卡信息、环境变量的设置等都在此目录中,许多网络配置文件也在其中。
4、/lib:根文件系统目录下程序和核心模块的共享库。这个目录里存放着系统最基本的动态链接共享库。
5、/media: 主要用于挂载多媒体设备。ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件。
6、/proc :是系统内存的映射,可以直接访问这个目录来获取系统信息。
7、/sbin :s是Super User的意思,存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。
8、/tmp : 是用来存放一些临时文件的,所有用户对此目录都有读写权限。
9、/home :用户的主目录。下面是自己定义的用户名的文件夹。每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。
10、/mnt :此目录主要是作为挂载点使用。通常包括系统引导后被挂载的文件系统的挂载点。如挂载Windows下的某个分区。
11、/root :系统管理员(超级用户),即根用户的主目录。
12、/srv :存储系统提供的服务数据。
13、/usr:包括与系统用户直接有关的文件和目录。
14、/var: 用于存放很多不断变化的文件。
5、/bin:是binary的缩写。存放着使用者最经常使用的命令。例如cp、ls、cat,等等。

注:以上资料来源于网络。

 类似资料: