目录

嵌入式底层开发为啥选择C语言

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

LINUX和UNIX之间的关系

linux主流的发行版有哪些及其特点?

有哪些虚拟机软件及其特点?

解决userdel无法删除用户的问题

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

项目开发日报表


嵌入式学习第一天七问

  • 嵌入式底层开发为啥选择C语言

C语言具有出色的移植性,能在多种不同体系结构的软/硬件平台上运行。
它也能够直接访问硬件,语言简洁,语法灵活。
具有很高的运行效率

能直接访问硬件,指在C语言中,我们可以通过指针控制内存以及寄存器。嵌入式系统是软硬结合的东西,所以我们选择学习能直接访问硬件的高级语言——C语言。
汇编和C语言都可以直接访问硬件。但汇编的语法较为简单,所以对硬件做初始化操作时选择汇编,而对硬件做初始化时选择C语言(C语言是高级语言中最低级的,但是C语言也具有高级语法)。
很高的运行效率C语言是高级语言中最低级的语言,可以直接编译生成硬件识别的机器码文件。而其他的高级语言需要相应的语言解释器做解释后,再编译。接下来通过C语言与java语言的比较,来帮助读者理解为何C语言相比其他高级语言执行效率较高

  • 什么是实时性?什么是硬实时?什么是软实时?

实时操作系统 (Real-time OS) 是相对于分时操作系统 (Time-Sharing OS) 的一个概念。在一个分时操作系统中,计算机资源会被平均地分配给系统内所有的工作。在分时系统中,各项任务需要花多长时间来完成,这一点并不重要;而在一个实时操作系统之中,最关注的是每个任务在多长时间内可以完成。简单地说,实时和分时操作系统最大的不同在于“时限(deadline)”这个概念。
硬实时与软实时之间最关键的差别在于,软实时只能提供统计意义上的实时。例如,有的应用要求系统在95%的情况下都会确保在规定的时间内完成某个动作,而不一定要求100%。在许多情况下,这样的“软性”正确率已经可以达到用户期望的水平。比如,用户在操作DVD播放机时,只要98%的情况都能正常播放,用户可能就满意了;而发射卫星、控制核反应堆的应用系统,这些系统的实时性必须达到100%,是绝对不允许出现意外。

  • LINUX和UNIX之间的关系

二者的关系,不是大哥和小弟,"UNIX 是 Linux 的父亲"这个说法更怡当。之所以要介绍它们的关系,是因为要告诉读者,在学习的时候,其实 Linux 与 UNIX 有很多的共通之处,简单地说,如果你已经熟练掌握了 Linux,那么再上手使用 UNIX 会非常容易。
二者也有两个大的区别:
UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;
UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。
Linux 受至旷大计算机爱好者的喜爱,主要原因也有两个:
它属于开源软件,用户不用支付可费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿使用,无约束地继续传播;
它具有 UNIX 的全部功能,任何使用 UNIX 操作系统或想要学习 UNIX 操作系统的人都可以从 Linux 中获益。
开源软件是不同于商业软件的一种模式,从字面上理解,就是开放源代码,大家不用担心里面会搞什么猫腻,这会带来软件的革新和安全。
另外,开源其实并不等同于免费,而是一种新的软件盈利模式。目前很多软件都是开源软件,对计算机行业与互联网影响深远。

  • linux主流的发行版有哪些及其特点?

PCLinuxOS
PCLinuxOS的理念是秉承“简单易用,安全无忧”的理念,无需安装可直接运行于CD上,集成的程序丰富。不过LiveCD由于光盘的数据读取速度限制导致性能下降
Ubuntu
Ubuntu 就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux操作系统。Ubuntu是一个相对较新的发行版,Ubuntu默认采用的GNOME桌面系统,如果你是一个KDE的拥护者的话,Kubuntu 同样适合你!Ubuntu的安装非常的人性化,只要按照提示一步一步进行,安装和Windows同样简便!并且,Ubuntu被誉为对硬件支持最好最全面 的Linux 发行版之一,许多在其他发行版上无法使用,或者默认配置时无法使用的硬件,在Ubuntu上轻松搞定。并且,Ubuntu采用自行加强的内核 (kernel),安全性方面更上一层楼。并且,Ubuntu默认不能直接root登陆,必须从第一个创建的用户通过su或sudo来获取root权限 (这也许不太方便,但无疑增加了安全性,避免用户由于粗心而损坏系统)。Ubuntu的版本周期为六个月,弥补了Debian更新缓慢的不足。而且具有人 气颇高的论坛提供优秀的资源和技术支持,固定的版本更新周期和技术支持,适于新手使用。是当前最流行的发行版之一。推荐使用
openSUSE
SUSE是Novell公司的著名Linux发行版,自主开发的专业,易用的YaST软件包管理系也大受好评。SUSE是一个非常专业、优秀的发行版,一向以华丽的用户界面著称。使用方便,也是当前最流行的版本之一,适于新手使用。
Fedora
Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux(可用CentOS替代,是RHEL的克隆版,免费),以及由社区开发的免费的Fedora Core。FC的定位便是桌面用户。FC提供了最新的软件包,同时,它的版本更新周期也非常短,仅六个月。Fedora拥有数量庞大的用户,优秀的社区技 术支持,许多创新。是当前最流行的版本之一,适于新手使用
Debian
Debian 是迄今为止,最遵循GNU规范的Linux系统。dpkg是Debian系列特有的软件包管理工具,它被誉为所有Linux软件包管理工具(比如RPM) 最强大的!配合apt-get,在Debian上安装、升级、删除和管理软件变得异常容易。Debian具有优秀的网络和社区资源,强大的apt- get,许多发行版都是基于Debian的,最有影响力的发行版之一。不过Debian安装相对不易,stable分支的软件极度过时,不适于新手使用。
Mandriva
Mandrake是基于Redhat的发行版。使用KDE,简化了安装系统。Mandrake在易用性方面的确是下了不少功夫,包括默认情况下的硬件检测等。具有友好的操作界面,图形配置工具,庞大的社区技术支持,是国际上比较有影响力的版本之一。不过部分版本bug较多
Damn Small
Damn Small Linux是一套非常小的(50M字节)可启动光盘的Linux发行版。尽管它的个头小,它努力成为一份可用并且易用的桌面。Damn Small Linux的桌面几乎是完整的一套,可进行简单媒体播放、FTP客户端、进行网页浏览、有简单的字处理及制表软件、可阅读电子邮件及pdf文件、文件管理 器、naim(支持 AIM、ICQ和IRC)、远程控制支持网络,宽带拨号及做服务器,还有一些简单小工具、系统监视软件、USB支持及PCMCIA支持。你可以安装到你的 硬盘上。由于所有的软件都是小巧型的,所以它对老旧的硬件会是一个很好的选择。可以运行在486的cpu及16M的内存中。是一个非主流的特色发行版,扩展性较差,适于特殊用户使用,纯英文版。
Slackware
Slackware是一个历史悠久的Linux发行版。其他主流发行版强调易用性的时候,他依然固执的追求最原始的效率——所 有的配置均还是要通过配置文件来进行。Slackware稳定、安全,所以有大批的忠实用户。由于尽量采用原版的软件包而不进行任何修改,所以制造新 bug的几率比较低。Slackware的版本更新周期较长。系统非常稳定、安全,并且高度坚持UNIX的规范;不过由于所有的配置均通过编辑文件来进 行,只适用于对linux非常熟悉的用户,而且自动硬件检测能力较差,不适于新手使用。
Puppy
Puppy Linux是一个十分小巧的 Linux 发行版,其ISO映像文件容量约为 100 MB 左右。正所谓“麻雀虽小,五脏俱全”。 在 Puppy Linux 中所包含的系统工具、网络软件、办公应用、影音娱乐可是都不或缺。Puppy Linux 不仅整个系统都可在内存中运行,而且还支持从各种存储介质启动运行,如优盘、光盘、硬盘等。与dsl linux相比puppy更完整,更容易汉化,不过需要的系统要求也更高、安装文件更大。适于一些较老的硬件,内存应在64M以上。
Gentoo
Gentoo 具有高度的自定制性:因为它是一个基于源代码的(source-based)发行版。尽管安装时可以选择预先编译好的软件包,但是大部分使用Gentoo 的用户都选择自己手动编译。所以Gentoo适合比较有Linux使用经验的老手使用。但是注意的是,由于编译软件需要消耗大量的时间,所以如果你所有的 软件都自己编译,并安装桌面系统则需要较长的时间。GENTOO是一个极有特色的发行版,优点是具有高度的可定制性,完整的使用手册,媲美Ports的 Portage系统,运行速度极快,适合“臭美”的高手使用。也是现在比较流行的发行版之一。不过缺点也明显:编译时耗时很多,安装缓慢,只适用于熟悉linux的用户,不适于新手使用。
FreeBSD
这里说明的是:FreeBSD不是一个Linux系统!但是FreeBSD的用户也相当多,其许多特性都与Linux相类似。FreeBSD作为服务器是相 当优秀的。同样的服务器硬件配置,运行同样的一个vBulletin论坛,FreeBSD所用的资源要比Linux少。网上许多的站点都是使用的 freebsd。除了作为服务器外,也可用于桌面用户。freebsd的优点:速度快,非常稳定,具有优秀的使用手册以及方便的Ports软件包管理系统。缺点也明显:比起Linux而言对硬件的支持较差,作为桌面系统,软件的兼容性不佳。freebsd更适于服务器使用,而桌面一般是某些有需要的高手使用。
Arch
Arch Linux是针对i686优化的linux发行版。Arch 基本理念是快速、轻巧、弹性与简单。Arch 是为 i686 处理器优化的。相较于RedHat或是其他的Linux而言非常轻巧,而且简单的设计使他富有弹性。运行速度极快,是运行速度最快的几个发行版之一。其特有的包管理是pacman,一个命令就让您升级整个系统,同时安装软件也非常方便。适于中级用户以上使用,不适于新手。
KNOPPIX
Knoppix,是一个基于Debian的发行版。Knoppix是一款LiveCD Linux,所谓的LiveCD就是整个操作系统都在一张光盘上,只要开机从光盘启动,就能拥有一个完整的Linux系统!无需安装!Knoppix也能 够非常轻松的安装到硬盘上。其强大的硬件检测能力、系统修复能力、即时压缩传输技术,都令人大加称赞。由于无需安装可直接运行于CD上,加上其优秀的硬件 检测能力,使它可作为系统急救盘使用,缺点也是由于光盘的数据读取速度限制导致性能下降。
Freespire
Freespire 是一份由社区建设推动的、基于Linux的操作系统,它结合了免费与开源软件的优点(社区推动、免费发布、源码开放等),并在用户认为适当时为他们提供将 私有编码解码器、驱动程序和应用软件包括进来的选择。Freespire由Linspire赞助开发,后者是基于Debian GNU/Linux的面向桌面的商用发行版。Freespire将推出的Click-n-Run(CNR)服务,加入一个CNR外挂程序。使用者只需简单 点选,即可自动下载安装数千种开放源代码应用软件,也可以直接购买非免费软件。
Xandros
Xandros 特点是极其简单的安装和使用,适合完全没有经验的新手,安装完以后就能立即投入使用,自带非常不错的工具所以定位于那些没有任何Linux使用经验的新 手,或是习惯使用Windows的用户。Xandros的标准版和增强版都是商业软件。不过可以下载到免费的公开发行版。
Magic Linux
Magic linux是有国内社区制作的Linux发行套件。对中文的支持非常好,安装好不要配置什么就可以使用了。系統稳定性好,拥有国内Linux中最漂亮的界 面,以及丰富的应用软件,以及一流的中文支持和易用性。国内的linux发行版中最有特色的一个,对国内用户最值得推荐的国内Linux发行版。适用于新 手使用,国内比较流行。
LFS
LFS──Linux from Scratch,就是一种从网上直接下载源码,从头编译LINUX的安装方式。它不是发行版,只是一个菜谱,告诉你到哪里去买菜(下载源码),怎么把这些 生东西( raw code) 作成符合自己口味的菜肴──个性化的linux,不单单是个性的桌面。lfs最大的优势就是,安装LFS是菜鸟变成高手的捷径。适于高手或想深入学习 linix的用户。
Hiweed linux
Hiweed Linux基于Ubuntu Linux,适合中国的linux新手和老手使用。Hiweed桌面是一份已经配置好的中文桌面,安装后可直接使用,无需配置。Hiweed的目标是:免去新手的痛苦,节省老手的时间。适于新手使用。
红旗 Linux
国内商业linux中有名的红旗Linux,红旗Linux在桌面领域主要致力于模仿 Windows的界面和使用方法,以吸引更多的Windows用户转入其中。虽然也是使用rpm的包管理体系,但安装软件可以使用类似Windows的向 导方式。国内比较流行。新手可以试用。
新华Linux
新华Linux,也是国内一个商业公司的发行版。这是一个基于Debian的发行版。使用debian体系中默认的gnome。他的界面也以模仿linux为主。

  • 有哪些虚拟机软件及其特点?

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 等系列的客户操作系统.假如你曾经有用过虚拟机软件的经历的话,相信使用 VirtualBox 不在话下。即便你是一个新手,也没有关系。VirtualBox 提供了详细的文档,可以助你在短期内入门。
VMware Workstation
不需要重开机就能在同一台电脑使用好几个OS.VMware主要的功能有:
1.不需要分区或重开机就能在同一台PC上使用两种以上的操作系统.
2.完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料.
3.不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制贴上功能.
4.有复原(Undo)功能.
5.能够设定并且随时修改操作系统的操作环境,如:内存、磁碟空间、周边设备等等.
Virtual PC
它能够让你在一台 PC 上同时运行多个操作系统,使用它你不用重新启动系统,只要点击鼠标便可以打开新的操作系统或是在操作系统之间进行切换。安装该软件后不用对硬盘进行重新分区或是识别,就能够非常顺利地运行你已经安装的多个操作系统,而且还能够使用拖放功能在几个虚拟 PC 之间共享文件和应用程序。
VirtualBox对于VMware的优点
(1)VirtualBox是免费开源的,而VMware不是。
(2)VirtualBox体积小,安装完成后,也只有60M左右,而VMWare5、6安装后很庞大。
(3)VirtualBox将虚拟机中的安装的操作系统以硬盘的方式进行保留,在不同计算机之间转移系统时,需要新建虚拟机,其后为其指定原来操作系统所在的硬盘,这样就不会产生网络连接问题;而VMware将虚拟机中的操作系统直接按虚拟机文件进行保存,一但需要在不同计算机之间转移系统,会造成原虚拟机中的操作系统MAC地址错误,不能在新的计算机中进行网络连接。
(4)VirtualBox并不象VMWare那样直接在系统安装虚拟网卡,这对系统安装带来极大方便。

  • 解决userdel无法删除用户的问题

情况:一般我们移除,都是先把用户从组中删除,再依次把组删掉,但是这里出现了问题:
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的原因只有一个,就是必须保证数据的一致性,不然可能会造成系统崩溃等问题
命令小解:
root@ www.linuxidc.com :/home# vipw --help
用法:vipw [选项]
选项:
-g, --group 编辑 group 数据库
-h, --help 显示此帮助信息并推出
-p, --passwd 编辑 passwd 数据库
-q, --quiet 安静模式
-R, --root CHROOT_DIR chroot 到的目录
-s, --shadow 编辑 shadow 或 gshadow 数据库

  • 罗列根目录中所有子目录的功能及存放的文件类型

1./etc目录
这个目录存放着各种系统配置文件,其中包括了用户信息文件/etc/passwd,系统初始化文件/etc/rc等。linux正是这些文件才能正常运行。
2./bin目录
/bin目录包含了引导启动所需的命令或普通用户可能用的命令。这些命令都是二进制文件的可执行程序,多是系统中重要的系统文件。
3./sbin目录
/sbin目录与/bin,也是于储存二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必须且允许时可以使用,但一般不给普通用户使用。
4./root目录
/root目录是超级用户的目录。
5./lib目录
/lib目录是根文件系统上所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。
6./lib/modules目录
该目录包含了系统核心的各种可加载的各种模块,尤其是那些在恢复损坏的系统时重新引导系统所需的模块。
7./dev目录
/dev目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/dev/mouse来访问鼠标的输入,就像访问其他文件一样。
8./tmp目录
该目录存放程序在运行时产生的信息和数据。
9./boot目录
该目录存放引导加载器使用的文件,如lilo,核心印象也经常放在这里。而不是放在根目录中。但是如果许多核心映像,这个目录就可能变得很大,这是使用单独的文件系统会更好一些。
10./mnt目录
该目录是程序管理员临时安装文件系统的安装点。
/bin 二进制可执行命令。
/dev 设备特殊文件
/etc 系统管理和配置文件
/home 用户目录的基点
/lib 标准程序设计库,又叫动态链接共享库
/sbin 系统管理命令,这里存放系统管理员使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录就是让用户临时挂载其他的文件系统
/var 某些大文件的益出区
/usr 最庞大的目录,要用到的程序和文件几乎在这个目录

项目开发日报表

项目开发日报表
项目名称  
今日进度以及任务
 
老师留下的七问、自学20指令
本日任务完成情况 七个问题已全部完成,指令仍在自学中
本日开发中出现的问题汇总 vim退出时显示no write since last change,使用w!强制退出
本日未解决问题  
本日开发收获 学习了虚拟机、linux系统、vim的使用方法
其他  

7.3 嵌入式实训学习的第一天相关推荐

  1. linux嵌入式开发板实训心得,嵌入式实训心得体会.docx

    嵌入式实训心得体会 嵌入式实训心得体会 篇一:嵌入式心得体会 这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃. 广义上讲,凡 ...

  2. 嵌入式实训大纲 --上海怡胜信息科技有限公司

    嵌入式Linux智能实训大纲 一.  什么是嵌入式 通俗理解,把计算机嵌入到各种设备中,如机械控制设备.汽车控制设备.航天设备.环境监测设备.家电设备等,并且通过计算机来控制设备完成自动化.智能化的操 ...

  3. 暑期实训21组第一周个人工作总结

    2022.6.21 参加暑期实训开题会议 下午13:30,参加由队长主持的队内的第一次全体线上会议,主要明确项目的内容.要点.技术.人员.分工等问题: 下午15:00,参加由英特尔的指导老师主持的答疑 ...

  4. 中软国际实训全记录——第一天

    中软国际实训第一天--软件安装 1.安装jdk 2.安装idea 3.安装Tomcat 配置环境变量 配置Tomcat 将Tomcat加入服务中 Tomcat的启动 4.安装maven 配置环境变量 ...

  5. 2021年山东大学软件学院项目实训记录(第一周)

    这次项目实训中,我们小组选择的题目是在线考试系统,经过讨论分工,我负责考试管理部分中的前端开发部分. 首先进行环境配置. 前端开发最为便利的开发工具为VScode,我们选择的开发框架是Vue. VSc ...

  6. 企业实训Java课程第一天学习内容

    一.环境搭建: jdk myeclipse eclipse idea:编写代码 二.第一个程序: 新建工程---->新建java文件---->写代码 三.注释: 注释分为三种://单行注释 ...

  7. 华北科技学院 嵌入式实训知识点

    文章目录 gcc编译器 裸机开发 系统移植 红绿蓝交替 呼吸灯 ADC 电阻变灯 系统移植搭建 开发板启动流程 驱动 驱动在系统中的层次 内核模块的三要素 驱动相关命令 驱动中的打印函数 驱动的不当操 ...

  8. 京东AI NLP高阶实训学习笔记

    人工智能的优势有很多,站在不同的角度来理解人工智能,也会有不同的看法,当然这也与自身的知识结构和岗位任务有较为密切的关系. 从大的方面来理解,人工智能的优势将体现在以下几个方面: 第一:促进生产力提升 ...

  9. 嵌入式实训-day1

    完全复制一个文件的内容到另外一个文件 思路解析: 首先我这里使用了三个.c文件,分别是:yanyu.c.yanyu_old.c.yanyu_now.c 其中yanyu.c负责将yanyu_old.c中 ...

最新文章

  1. Win7系统下Vmware虚拟机无法使用USB设备问题的解决方法
  2. pygame精灵组有哪些方法_小精灵科学室-如何在活动中提高幼儿的探究能力和科学探究活动?...
  3. double 格式化
  4. 2021 NOI游记
  5. android 联系数据库
  6. java中使用httpget_如何在Java中进行HTTP GET?
  7. J2EE技术-Hibernate
  8. php实现语音留言,iPhone实现语音留言 新技能get
  9. ulipad python配置
  10. Oozie 集成 Ssh
  11. 高等数学常用极限求法总结(无详解)
  12. 网页链接在线提取工具-免费网页链接在线提取软件
  13. 一个国产的算筹字数统计在线小工具-可以统计不同字出现的频率和次数-统计出现最多的字和英文单词
  14. 帝国PHP二次开发,帝国CMS二次开发基本问题汇总
  15. 元宇宙专题001 | 他们居然将元宇宙和心理学写到一起了
  16. iOS小技巧21-MacOS 苹果系统下Outlook打不开,显示“您需要最新版本的Outlook才能使用此数据库”
  17. Matlab篇----常用的回归分析Matlab命令(regress篇)
  18. 如何获取微信文章阅读数和点赞数
  19. 解决eclipse: Resource is out of sync with the file system 报错问题
  20. Android Weekly #31:你最能影响「他者」的,是你正在工作的状态

热门文章

  1. input标签的默认样式导致的左上边框和右下边框颜色不一致问题
  2. ping指定包大小的命令格式(windows linux)
  3. 【愚公系列】2021年11月 攻防世界-进阶题-MISC-007(Aesop_secret)
  4. python tcp黏包和struct模块解决方法,大文件传输方法及MD5校验
  5. WPF 仿安卓手势解锁 图案解锁
  6. 2022年7月份模拟考题解答
  7. 上海市计算机二级java程序设计真题_上海市计算机等级考试二级java程序设计.doc...
  8. DingTalk:: 通讯录单向同步实现示例
  9. 用HTML实现邮箱的注册页面
  10. 备战数学建模40-遗传算法优化bp神经网络(攻坚站4)