Linux

    技术2024-03-15  93

    Linux项目开发日报表

    一、 今天学习了vim和linux的一些基本指令 二、 嵌入式底层开发为什么选择c语言: 1.从语言特点来说

    ①C语言有出色的可移植性,能在多种不同体系结构的软/硬平台上运行。

    ②简洁紧凑,使用灵活的语法机制,并能直接访问硬件能够直接访问硬件的语言有:汇编和C语言汇编属于低级语言,难以完成一些复杂的功能,但是汇编比C语言访问硬件的效率更高。

    所以,一般将硬件初始化的工作交给汇编,比较复杂的操作交给C语言。

    ③C语言具有很高的运行效率。

    2.嵌入式开发中的地位——开发工具

    3.高级语言中的低级语言:面向过程VS面向对象 linux和unix之间的关系:Unix 现在只是一个商标,并没有哪一个操作系统名称叫做 “Unix”。如果一个操作系统在技术上符合了 Unix 的规范,又得到了商标使用许可,那么它可以称自己为 Unix,否则只能算 Unix-like(类 Unix)。所以你可以将 Unix 看做一种类别,而非具体的操作系统。 Linux 是参照 Unix 设计出来的,但并没有基于当时现有的任何一款 Unix 系统,所以 Linux 和 Unix 有许多本质上的相似性但也存在大量的差异以及 Linux 独特的地方。 Linux主流的发行版有哪些?有什么特点:linux发行版本主要以下几种01 ubuntu 桌面版bai系统对于不擅长系统操du作命令的人员zhi,使用比较方便 02 SUSE 网络服务功能强的系dao统如果想把服务器充当路由设备,或邮件服务器,可以关注 03 Debian 安全性较好系统有些对系统安全性要求高的企业会作为优选 04 Redhat 红帽公司官方系统是很多国企或外企服务器中常用系统,需要进行付费,有官方服务支持 05 centos 红帽公司免费版系统大多数互联网公司服务器常用系统,可以部署的服务多样,稳定性也比较高 什么是实时性?软件和硬件实时的区别:实时性可以定义为:在规定时间内系统的反应能力.一般,有实时要求的应用有两个突出的特点:其中的活动时间性强,要求在一定的时刻和或一定的时间内自外部环境收集信息、再及时作出响应。在实时操作系统中,系统必须在特定的时间内完成指定的应用,具有较强的刚性,而分时操作系统则注重将系统资源平均地分配给各个应用,不太在意各个应用的进度如何,什么时间能够完成。不过,就算是实时操作系统,其刚性和柔性的程度也有所不同,就好像是系统的硬度有所不同,因而有了所谓的硬实时(hard real-time)和软实时 ( soft real-time)。硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。硬实时与软实时之间最关键的差别在于,软实时只能提供统计意义上的实时。例如,有的应用要求系统在95%的情况下都会确保在规定的时间内完成某个动作,而不一定要求100%。 有哪些虚拟机软件以及特点: 1.VMware Player,VMware推出的免费小巧的虚拟机软件,精简版VMware Workstation 2.Windows Virtual PC,微软公司旗下产品,Windows Virtual PC 是最新的 Microsoft 虚拟化技术。您可以使用此技术在一台计算机上同时运行多个操作系统,并且只需单击一下,便可直接在运行 Windows 7 的计算机上的虚拟 Windows 环境中运行许多生产应用程序。 3.Virtual Box,Virtual Box是Oracle公司旗下的免费开源虚拟机软件,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。 4.Vmware Workstation,VMware公司的优秀虚拟机软件,VMware公司是全球桌面到数据中心虚拟化解决方案的领导厂商,个人认为Vmware Workstation是最好用的虚拟机软件。 如何解决无法删除使用userdel删除用户的问题: 1.删除该用户就提醒用户当前在进程运行,删除他的组也报错。

    解决方法:

    可使用vipw命令:

    root@ www.linuxidc.com :/home# vipw

    找到之前创建的用户,用dd删除那行(记得保存:wq or :x)。

    root@ www.linuxidc.com :/home# vipw -s

    找到那个用户所属组,也dd干掉即可(记得保存:wq or :x) 2. vi /etc/passwd 添加 pipetest❌506:506::/home/pipetest:/bin/bash 3.vi /etc/shadow 添加 pipetest:!!:15056:0:99999:7::: 4.mkdir /home/pipetest/ cp /etc/skel/.bash* /home/pipetest/ 罗列根目录中所有子目录以及其存放的类型: 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目录 该目录是程序管理员临时安装文件系统的安装点。 三、本日开发遇到的问题就是上面的几点,并且都做了深入的研究,今天的收获很多希望能够掌握更多的linux指令,并且运用到日后的学习中。

    项目开发日报表

    项目名称

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

    今日进度以及任务

    学习了vim和linux的一些基本操作指令

    本日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量)

    完成了本日任务,具体已经在博客上体现。

    本日开发中出现的问题汇总

    1.嵌入式底层开发为什么选择c语言(跟老林学智嵌) 2.linux和unix之间的关系(Linux中国) 3.Linux主流的发行版有哪些?有什么特点 4.什么是实时性?软件和硬件的实时 5.有哪些虚拟机软件以及特点 6.如何解决无法删除使用userdel删除用户的问题(2种方法) 7.罗列根目录中所有子目录以及其存放的类型

    本日未解决问题

    问题:在自己的pc机上复制的内容怎么在虚拟机上粘贴,不知道怎么实现。

    本日开发收获

    收获了诸多指令的应用方式比如vim,cd,cd …,./a.out等等

    其他

    Processed: 0.086, SQL: 10