某不知名一本大三学生的实训日常

物联网工程实训日报day1

对课堂问题的解答(注:因为对相关知识有所欠缺,回答大部分源于网络资料)
Q1:嵌入式底层开发选择c语言的原因
A1:嵌入式开发是在操作系统内部做开发,而操作系统所有的内核几乎都是C语言编写。而由于c语言的①出色的可移植性②简洁紧凑、使用灵活的语法机制,并能直接访问硬件③很高的运行效率 这些特点,使得c是最契合要求。
Q2:什么是实时性,软硬实时的区别?
A2:实时性:在规定时间内系统的反应。对嵌入式来说实时系统不仅仅是表现在“快”上,而更主要的是实时系统必须对外来事件在限定时间内做出反应,当然这个限定时间的范围是根据实际需要来定的。
硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重。
Q3:Linux和unix之间的联系
A3:Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。
Q4:Linux主流的发行版及特点
A4:
10. Slackware
Slackware是一个长期存在的Linux服务器发行版,它将确保您的稳定性和简单性,于1993年首次发布。
Slackware是一个非常轻量级的Linux服务器,这就是为什么它主要使用奔腾系统。Slackware附带X Window系统、Web服务器,邮件服务器、C和C ++以及新闻服务器。
特征:最适合经验丰富的Linux专业人士;
可以使用各种包管理器,例如包管理器、pkg工具和slack pkg;
提供更高级的操作系统;
完全定制的;
不同的bug修复。
9. Arch Linux
Arch Linux是一个更灵活的平台,非常受用户欢迎。它是一个完全定制的Linux发行版,带有一些很棒的特性。管理员可以使用它快速设置服务器应用程序,因为它提供了灵活和稳定的环境。
特征:为完整的服务器设置提供答案和全面指南;
完全支持X86和X86-64两种ARM架构;
易于设置可轻松访问的服务器应用程序;
提供直观的包装管理系统。
8. Mageia
如果您寻找安全稳定的Linux服务器,Mageia将是您的最佳选择。
它于2010年首次发布,现在它是Mandriva的一个分支。Mageia包括一些最好的桌面环境,如GNOME、KDE、LXDE和Xfce。
特征:附带MariaDB、389目录和Kolab服务器;
提供一流的Linux服务器操作系统;
同时为用户提供稳定安全的环境;
各种错误修复。
7. Oracle Linux
Oracle Linux是最好的Linux服务器发行版之一。
Oracle中有两个内核,一个是Red Hat兼容的内核(RHCK),另一个是Red Hat Enterprise Linux (RHEL)。这两种系统都能很好地配合不同的硬件
特征:提供卓越的服务器操作系统;
提供最好的OpenStack数据中心;
提供增强的家庭服务器;
支持包含Oracle GUI的Oracle flexible主题。
6.Red Hat Enterprise Linux
Red Hat Enterprise Linux是最受欢迎的Linux服务器操作系统之一,几乎所有的Linux组件和各种软件都可以轻松地在其上使用。
特征:Red Hat Enterprise Linux附带了一系列保守的软件包;
提供无bug且安全的服务器环境;
适用于各种设备和协议;
提供一些出色的容器应用程序和云服务;
确保高度集成系统。
5. Fedora
Fedora是最好的Linux服务器发行版之一,其中包含了商业Linux发行版开发的实验性技术。对于Linux世界中的新手用户来说,这是一个全新的Linux服务器操作系统。它支持各种桌面环境,包括Gnome、KDE等。
特征:提供了各种数据库服务,如PostgreSQL;
适合新用户和高级用户;
提供灵活的Red Hat生态系统;
支持各种架构,如X86、ARMhf、Power、PPC64LE、ARM64、S390X等。
4. OpenSUSE Leap
OpenSUSE是1993年首次引入的最常用的Linux服务器操作系统之一。
OpenSuse主要有两种变体,它们是Leap和Tumbleweed。OpenSUSE Leap是最稳定的。这个服务器可以很容易地用作web服务器、家庭服务器和两者。多功能性特性在任何服务器发行版中都非常有用。让我们来看看它的特点:特征:
支持用于自动化测试的OpenQA、用于Linux配置的YaST和用于Linux映像部署的Kiwi;
高级用户的最佳服务器;
提供最佳的桌面环境;
提供最新的软件包,如Linux内核和SAMBA。
3. Debian
Debian前被称为Linux发行版之王,也是目前最流行的Linux服务器发行版。它最初是在1993年推出的。它是最常用的Linux服务器,甚至Ubuntu也是基于Debian的。
它提供了各种软件包管理器、各种API工具等,您会注意到使用它的服务器更安全、更稳定。现在让我们看看它的有用特性。
特征:易于设置为主服务器;
提供更稳定的服务器环境;
确保高度集成系统;
兼容高级用户。
2. CentOS
CentOS是世界上使用的最好的Linux服务器发行版之一,占了全世界Linux服务器的30%。
特征:支持的X86-64架构;
增加RPM包装系统;
确保简单稳定的服务器环境;
提供GUI、KDE和GNOME版本;
主要bugs免费。
1. Ubuntu服务器
Ubuntu是众所周知的最佳Linux Server Distro,它能为您提供出色的用户体验。
如果你是Linux世界的新手,选择Ubuntu作为你的服务器发行版将是最好的。使用此服务器,您可以做任何事情,例如启动Web服务器、部署容器等。
它非常适合作为媒体服务器、电子邮件服务器或游戏服务器。
特征:由大型企业及相关技术支持;
提供流畅稳定的服务器环境;
与最常用的公共云兼容;
支持各种架构,如X86、ARMhf、Power、PPC64LE、ARM64、S390X等;
适用于各种设备和协议。
Q5:虚拟机软件及特点
A5:虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
流行的虚拟机软件有***VMware(VMWare ACE)***、Virtual Box***和***Virtual PC,它们都能在Windows系统上虚拟出多个计算机。
虚拟机软件的优点:
1、可模拟真实操作系统,做各种操作系统实验(如:搭建域服务器,搭建web服务器,搭建ftp服务器,搭建dhcp服务器,搭建dns服务器等);
2、虚拟机的快照功能可以与ghost工具备份功能相媲美,并且可以快速创建还原点,也可以快速恢复还原点;
3、可桥接到真实电脑上上网,更好的保障了安全性;
4、在只有1台电脑的情况下,需要另外几台电脑共同搭建复杂应用环境,虚拟机即可代劳;
5、可以在虚拟机中测试比较怀疑的工具;
6、真实的工具可在虚拟机中正常使用【前提要模拟相应的操作系统】;
7、可快速克隆操作系统副本。
Q6:如何解决使用userdel删除不掉用户的问题?
A6:
法1:

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 数据库

Q7:罗列根目录中所有子目录的功能及存放的文件类型
A7:linux(ubuntu)根目录下各文件夹的功能详细介绍
/bin/ 用以存储二进制可执行命令文件。

/sbin/    许多系统命令的存储位置,/usr/sbin/中也包括了许多命令。

/root/    超级用户,即根用户的主目录。

/home/    普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。

/boot/    存放Ubuntu内核和系统启动文件。

        /boot/grub/        Grub引导器相关的文件

/mnt/     通常包括系统引导后被挂载的文件系统的挂载点。

/dev/    存储设备文件,包括计算机的所有外部设备,如硬盘、是、键盘、鼠标等。

/etc/    存放文件管理配置文件和目录(系统文件和大部分应用程序的全局配置文件)。

        /etc/init.d/        SystemV风格的启动脚本

        /etc/rcX.d/        SystenV启动脚本的链接,定义运行级别

        /etc/network/        网络配置文件

        /etc/X11        图形界面配置文件

/lib/    存储各种程序所需要的共享库文件。

/lost+found/    一般为空,当非法关机时,会存放一些零散的文件。

/var/    用于存放很多不断变化的文件,例如日志文件等。

/usr/    包括与系统用户直接有关的文件和目录

        /usr/bin/        基于用户命令的可执行文件(应用程序)

        /usr/sbin/        管理员应用程序

        /usr/include        编译应用程序所需要的头文件

        /usr/lib/        应用程序库文件(常用的动态链接库和软件包的配置文件)

        /usr/share/        应用程序资源文件

        /usr/src/        应用程序源代码

        /usr/doc        存放文档的目录

        /usr/man        存放帮助文档的目录

        /usr/local/soft/        用户程序

        /usr/local/bin        本地增加的命令

        /usr/local/lib        本地增加的库根文件系统

        /usr/X11R6        图形界面系统(存放x windows的目录)

/media/    存放Ubuntu系统自动挂载的设备文件。

/proc/    这是一个虚拟目录,它是内存的映射,包括系统信息和进程信息。

/tmp/    存储系统和用户的临时信息。

/initrd/    用来加载启动时临时挂载的initrd.img映像文件,以及载入所要的设备模块目录。

/opt/    作为可选文件和程序的存放目录,否则将无法引导计算机进入操作系统。

/srv/    存储系统提供的服务数据。

/sys/    系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。

通常情况下,根文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不需要经常改动,而且包括严格的文件和一个小的不经常改变的文件系统不容易损坏。除了可能的一个叫/vmlinuz标准的系统引导映像之外,根目录一般不含任何文件。所有其他文件在根文件系统的子目录中。

  1. /bin目录

     /bin目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序(bin是binary----二进制的简称),多是系统中重要的系统文件。
    
  2. /sbin目录

     /sbin目录类似/bin,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。
    
  3. /etc目录

     /etc目录存放着各种系统配置文件,其中包括了用户信息文件/etc/ passwd,系统初始化文件/etc/rc等。linux正是*这些文件才得以正常地运行。
    
  4. /root目录

     /root 目录是超级用户的目录。
    
  5. /lib目录

     /lib目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。
    
  6. /lib/modules 目录

     /lib/modules 目录包含系统核心可加载各种模块,尤其是那些在恢复损坏的系统时重新引导系统所需的模块(例如网络和文件系统驱动)。
    
  7. /dev目录

    /dev目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/dev/mouse来访问鼠标的输入,就像访问其他文件一样。
    
  8. /tmp目录

    /tmp 目录存放程序在运行时产生的信息和数据。但在引导启动后,运行的程序最好使用/var/tmp来代替/tmp ,因为前者可能拥有一个更大的磁盘空间。
    
  9. /boot目录

    /boot目录存放引导加载器(bootstrap loader)使用的文件,如l i l o,核心映像也经常放在这里,而不是放在根目录中。但是如果有许多核心映像,这个目录就可能变得很大,这时使用单独的文件系统会更好一些。还有一点要注意的是,要确保核心映像必须在ide硬盘的前1024柱面内。

  10. /mnt目录

    /mnt目录是系统管理员临时安装(mount)文件系统的安装点。程序并不自动支持安装到/mnt 。/mnt 下面可以分为许多子目录,例如/mnt/dosa 可能是使用msdos文件系统的软驱,而/mnt/exta 可能是使用ext2文件系统的软驱,/mnt/cdrom 光驱等等。 
    
  11. /proc, /usr,/var,/home目录

    其他文件系统的安装点。
    

总结
初次了解了嵌入式相关的一些基本知识,迷茫与疑惑居多,继续努力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值