1、/etc 操作系统的配置文件目录。/root 系统管理员(也叫超级用户或根用户)的Home目录。/dev 设备文件目录。LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目 录。这些设备的内容会出现在独立的子目录下。
2、碎片整理不同 Windows操作系统:当文件被修改、体积增加时,Windows操作系统尝试把文件新增的部分存放到紧邻原始文件的扇区里。但周边已经没连续的足够扇区空间了,文件需要被分割成数段。所以需要一个碎片整理工具。
3、相同:Linux的文件系统,有ext2,ext3,ext4,xfs,reiserfs,jfs,btrfs等多种,除ext2是非日志文件系统以外,其它的全是日志型文件系统,Windows的文件系统,有fat16,fat32,ntfs等,前两种是非日志文件系统,后者是日志文件系统。
要跑的应用多了,就需要操作系统来进行管理。一般手机产品、小型医疗设备、军工设备等都用到了arm+linux的平台。arm处理器(CPU)是目前使用较多的,使用的嵌入式操作系统可以是多种多样的,不光是linux。
嵌入式操作系统(EOS)是一种广泛应用的系统软件,主要应用于工业控制和国防系统领域。它负责管理和调度嵌入式系统的软硬件资源,控制并发活动,并且能够通过装卸某些模块来达到所需功能。随着互联网技术的发展和信息家电的普及,EOS开始向高专业化的强功能方向发展。
而Windows系统属于通用计算机系统,通用计算机通用计算机系统是相对于嵌入式通用计算机系统来说的,其技术要求是高速、海量的数值计算。包含的范围不同:Windows系统仅仅包含Windows操作系统本身,只是一个操作系统。
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统RTOS,是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。
嵌入式Linux系统就是利用Linux其自身的许多特点,把它应用到嵌入式系统里。Linux做嵌入式的优势,首先,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其次,Linux的内核小、效率高,内核的更新速度很快;第三,Linux是免费的OS,在价格上极具竞争力。
Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux也可以安装在各种计算机硬件设备中,如收集、平板电脑、路由器、台式计算机、超级计算机等等,人们也已经习惯了用Linux来形容整个基于Linux内核,且使用GNU工程各种工具和数据库的操作系统。
shell不同:嵌入式Linux一般用busybox,桌面Linux一般用bash。
linux和嵌入式系统是相互于相互交叉使用的。嵌入式系统的定义就是软硬件可裁剪,在实际项目中,对产品的功耗、存储等要求严格,所以就会涉及将完整的Linux系统进行精简瘦身,节约存储提高效率,这就是所谓的系统移植、裁剪。此工作需要对Linux内核极其熟悉。
嵌入式Linux高级编程技术是用于开发嵌入式系统的一种技术,是系统设计和软件开发过程中重要的一环,因此探索嵌入式Linux高级编程技术有助于实现更高性能的系统开发。
嵌入式工程师需要掌握的知识点繁多,主要包括C语言、汇编语言、数据结构、Linux高级编程、ARM系统、嵌入式内核和嵌入式驱动等。选择学习方向时,要根据个人兴趣和职业规划来定,例如选择成为一名嵌入式工程师或C/C++开发工程师。
嵌入式培训课程主要针对嵌入式系统领域的教育需求,目标是培养学员在嵌入式系统设计、开发和应用方面的专业知识和技术能力。嵌入式系统是指将特定功能集成到其他设备或系统中,以执行特定任务或控制功能的计算机系统。这类系统通常由硬件和软件组成,涉及微处理器、传感器、控制器和嵌入式软件等组件。
一:C语言 嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。
一个精通C语言程序设计的程序员,可以很容易地进入Linux、WinCE、Vxworks、uc/os等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、巩固C编程语法基础,以及深入C语言高级编程和数据结构与算法,为将来的程序设计工作打下坚实的基础。
如果精通了 Linux 系统的高级编程,可以有如下相对应的较高级的岗位:涉及到网络安全方面编程的岗位、嵌入式系统编程与研发、Android 系统研发工程师、计算机硬件接口编程。