嵌入式 linux C 第 1 天

问题1:嵌入式底层开发为什么选择C语言?
  1. C语言具有出色的可移植性,能在多种不同体系结构的软/硬件平台上运行。
  2. C语言具有简洁紧凑、使用灵活的语法机制,并能直接访问硬件。
  3. C语言具有很高的运行效率。

参考资料:嵌入式开发为什么选择C语言?

问题2:什么是实时性?硬实时?软实时?
  1. 实时性就是系统的活动是有时限的特性,系统必须在规定的时刻或时间段内活动(如采集数据,做出响应等)
  2. 硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。
  3. 软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。

参考资料:
什么是实时系统、硬实时、软实时?为什么嵌入式系统多为实时系统?
软实时和硬实时操作系统的区别

问题3:Linux和Unix之间的联系和关系?

UNIX 诞生于 20 世纪 60 年代末,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX。

参考资料:Linux和UNIX的关系及区别(详解版)

问题4:Linux主流的发行版有哪些及其特点?
  1. Debian
    Debian运行起来极其稳定,这使得它非常适合用于服务器。Debian平时维护三套正式的软件库和一套非免费软件库,这给另外几款发行版(比如Ubuntu和Kali等)带来了灵感。Debian这款操作系统派生出了多个Linux发行版。它有37500多个软件包,这方面唯一胜过Debian的其他发行版只有Gentoo。Debian使用apt或aptitude来安装和更新软件。
    Debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。Debian支持如今的大多数架构(处理器)。

  2. Ubuntu
    简单而言,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux操作系统。Ubuntu是一个相对较新的发行版,但是,它的出现可能改变了许多潜在用户对Linux的看法。也许,从前人们会认为Linux难以安装、难以使用,但是,Ubuntu出现后,这些都成为了历史。Ubuntu基于Debian Sid,Ubuntu拥有Debian的所有优点,包括apt-get。然而,不仅如此而已,Ubuntu默认采用的GNOME桌面系统也将Ubuntu的界面装饰的简易而不失华丽。
    Ubuntu的安装非常的人性化,只要按照提示一步一步进行,安装和Windows同样简便!并且,Ubuntu被誉为对硬件支持最好最全面的Linux发行版之一,许多在其他发行版上无法使用,或者默认配置时无法使用的硬件,在Ubuntu上轻松搞定。并且,Ubuntu采用自行加强的内核(kernel),安全性方面更上一层楼。并且,Ubuntu默认不能直接root登陆,必须从第一个创建的用户通过su或sudo来获取root权限。Ubuntu的版本周期为六个月,弥补了Debian更新缓慢的不足。

  3. CentOS
    CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。非常稳定的程序包;谁要是想在桌面端测试一下服务器的运作原理,都应该试试这款操作系统。

  4. Fedora
    小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。Fedora同样使用YUM来管理软件包。

  5. Red Hat
    国内,乃至是全世界的Linux用户所最熟悉、最耳闻能详的发行版想必就是Red Hat了。Red Hat最早由Bob Young和Marc Ewing在1995年创建。而公司在最近才开始真正步入盈利时代,归功于收费的Red Hat Enterprise Linux(RHEL,Red Hat的企业版)。而正统的Red Hat版本早已停止技术支持,最后一版是Red Hat 9.0。于是,目前Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux,以及由社区开发的免费的Fedora Core。

参考资料:
常见Linux发行版有哪些?
Linux 系统主流发行版比较
Linux 各大发行版有什么特色?
linux版本排行

问题5:有哪些虚拟机软件及其特点?
  1. VMware
    这款虚拟机软件兼容性不错,VMware Tools也很强大,快照功能很快捷,方便,允许你在任意开机时刻创建系统快照和恢复,主要用于调试极易产生蓝屏的软件和工具,十分实用。
  2. VirtualBox
    Sun公司的产品,属于轻量级的虚拟机平台,而且是开源的,完整安装包很小,不像VMware有几百兆,功能相对也很精简,快照功能这里叫备份和快速修复,在不同的快照间跳转用起来感觉不是很方便,也不能实现文件拖拽的功能。
  3. KVM
    KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko,提供和虚拟化核心架构和处理器规范模块。使用 KVM 可允许多个包括 Linux 和 Windows 每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等。
  4. Xen
    Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达100个满特征的操作系统。操作系统必须进行显式地修改(“移植”)以在Xen上运行。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。

参考资料:
常用虚拟机软件推荐

问题6:如何解决userdel删除用户的问题?

userdel 是一个底层用于删除用户的工具。在 Debian 上,我们通常会使用 deluser 命令。userdel 会查询系统账户文件,例如 /etc/password 和 /etc/group。那么它会删除所有和用户名相关的条目。在我们删除它之前,用户名必须存在而且必须拥有权限。
参考资料:
使用userdel命令删除Linux用户

问题7: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文件、邮件队列、网络下载的临时文件等等。

参考资料:
Linux根目录下各子目录介绍
linux根目录下各子目录的作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值