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

|

项目名称 【苏嵌实训-嵌入式 linux C 第 1天】
今日进度以及任务 了解未来就业形势。学习Linux系统开发环境,熟悉编译环境和命令。
任务完成情况 通过在微信公众号及百度搜索完成
本日开发中出现的问题汇总 由于长时间未使用C语言,导致对其过于生疏,影响了课堂学习
本日未解决问题 用userdel删除不了用户的解决办法,未找到其他方法
本日开发收获 了解Linux和虚拟机的基础操作
其他 认真学习

(1) 嵌入式底层开发为什么选择C语言
C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码,并且不需要任何运行环境支持便能运行的编程语言,其移植性好,能够在多种不同体系结构的软件或硬件平台上运行。
相对来说,c语言在高级语言中是最贴近物理层面的语言,经过一系列的编译转换,最终他会成为0101的机械码,可以操作硬件,并且具有简洁紧凑、使用灵活的语法机制。
c语言具有很高的运行效率。在芯片上执行的程序,c语言仅次于汇编。执行效率大概在80%左右。
(2) 什么是实时性,什么是硬实时,什么是软实时?
实时系统制系统的计算正确性不仅取决于计算的逻辑正确性。还取决于产生结果的时间,如果为满足系统的时间约束,则认为系统失效。
硬实时系统,指系统要有确保的最坏情况下的服务时间,即对于时间的响应时间的截止期限是无论如何都必须得到满足。
软实时系统就是那些从统计的角度来说,一个任务能够得到有确保的处理时间,到达系统的事件也能够在截止期限到来之前得到处理,但违反截止期限并不会带来致命的错误。
(3) Linux和Unix之间的关系
UNIX大多被用在服务器、工作站,现在也有用在个人计算机上,它在创建互联网计算机网络或客户端/服务器模型方面发挥着非常重要的作用。
UNIX系统
一、支持多任务;
二、相比multics操作更加简单;
三、所有数据以纯文本形式存储;
四、采用单一根文件的树状储存储;
五、能够同时访问多用户账户。

Linux的基石是UNIX内核,其基于UNIX的基本特点以及POSIX和单独的UNIX规范标准。
一、 同时运行多任务;
二、 程序可以包含一个或多个进程,且每个进程可能有一个或多个线程;
三、 多用户,因此它可以运行多个用户程序;
四、 个人账户受适当授权的保护;
五、 五、账户准确的定义了系统控制权。
(4) Linux主流的发行版有哪些及特点?
Ubuntu:基于Debian开发的开源Linux操作系统,主要针对桌面和服务器
Linux Mint:基于Debian和Ubuntu的Linux发行版,致力于桌面系统对个人用户每天的工作更易用,更高效,且目标是提供一种更完整的即刻可用体验。
suse:基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。
OpenSUSE:由suse发展而来,旨在推进linux的广泛使用,主要用于桌面环境,用户界面非常华丽,而且性能良好
rhel(red hat enterprise Linux):Red Hat公司发布的面向企业用户的Linux操作系统。早起版本主要用于桌面环境,免费:
Fedora:基于Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的Red Hat Enterprise Linux取代Red Hat Linux在商业应用的领域。Fedora的功能对于用户而言,它是一套功能完备、更新快速的免费操作系统,而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora大约每六个月发布新版本
CentOS:基于Red hat Linux提供的可自由使用源代码的企业级Linux发行版本。每个版本的Centos都会获得十年的支持(通过安全更新的方式)。新版本的Centos大约每两年发行一次,而每个版本的Centos会定期(大概6个月)更新一次,以支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的Linux环境。
(5) 有哪些虚拟机软件,特点是什么?
VMware:可以在一个桌面上同时运行多个不同的操作系统,可用于开发测试、应用部署、解决方案构建等,还支持云技术和容器技术(Docker等),支持快照和克隆。
VirtualBox
这是一个免费、开源、跨平台的虚拟机软件,功能强大,支持常见的Linux,Windows,Mac等操作系统,支持克隆技术。
(6) 如何解决userdel删除用户的问题?
可使用vipw命令:
  root@ per# vipw
  找到之前创建的用户,用dd删除那行(记得保存:wq or :x)。
  root@per# vipw -s
  找到那个用户所属组,也dd干掉即可(记得保存:wq or :x)
使用vipw -s的原因只有一个,就是必须保证数据的一致性,不然可能会造成系统崩溃等问题。
(7) 罗列根目录中所有子目录的功能及存放的文件类型
/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员的主目录(呵呵,特权阶级)
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
/usr/x11r6 存放x window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库根文件系统
通常情况下,根文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不需要
经常改动,而且包括严格的文件和一个小的不经常改变的文件系统不容易损坏。
除了可能的一个叫/ v m l i n u z标准的系统引导映像之外,根目录一般不含任何文件。所有
其他文件在根文件系统的子目录中。

  1. /bin目录
    / b i n目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序( b i n是b i n a r y - -二进制的简称),多是系统中重要的系统文件。
  2. /sbin目录
    / s b i n目录类似/bin ,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使
    用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。
  3. /etc目录
    / e t c目录存放着各种系统配置文件,其中包括了用户信息文件/ e t c / p a s s w d,系统初始化文件/ e t c / r c等。l i n u x正是*这些文件才得以正常地运行。
  4. /root目录
    /root 目录是超级用户的目录。
  5. /lib目录
    / l i b目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文
    件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副
    本,故可以使得可执行文件变得更小,节省空间。
  6. /lib/modules 目录
    /lib/modules 目录包含系统核心可加载各种模块,尤其是那些在恢复损坏的系统时重新引
    导系统所需的模块(例如网络和文件系统驱动)。
  7. /dev目录
    / d e v目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用
    户可以通过访问/ d e v / m o u s e来访问鼠标的输入,就像访问其他文件一样。
  8. /tmp目录
    /tmp 目录存放程序在运行时产生的信息和数据。但在引导启动后,运行的程序最好使用
    / v a r / t m p来代替/tmp ,因为前者可能拥有一个更大的磁盘空间。
  9. /boot目录
    / b o o t目录存放引导加载器(bootstrap loader)使用的文件,如l i l o,核心映像也经常放在这里,
    而不是放在根目录中。但是如果有许多核心映像,这个目录就可能变得很大,这时使用单独的
    文件系统会更好一些。还有一点要注意的是,要确保核心映像必须在i d e硬盘的前1 0 2 4柱面内。
  10. /mnt目录
    / m n t目录是系统管理员临时安装( m o u n t )文件系统的安装点。程序并不自动支持安装到
    /mnt 。/mnt 下面可以分为许多子目录,例如/mnt/dosa 可能是使用m s d o s文件系统的软驱,
    而/mnt/exta 可能是使用e x t 2文件系统的软驱,/mnt/cdrom 光驱等等。
  11. /proc, /usr,/var,/home目录
    其他文件系统的安装点。

你可能感兴趣的:(笔记,linux)