开发者学堂课程【HaaS 物联网应用开发课程:1_3_ Linux 操作系统介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/801/detail/13817
1_3_ Linux 操作系统介绍
内容介绍:
一. Linux 历史
二. Linux 设计的主要思想
三. Linux 系统组成
四. Linux 在物联网领域的应用
一. Linux 历史
(1)Linux 历史发展
人们通常所说的 Linux 是指 Linux 内核,但只有内核并不是一个完整的操作系统。
实际上, Linux 是一套开放源代码,可以自由传播的类 Unix 操作系统。它是一个基于 POSIX 的多用户,多任务并且支持多线程和多 CPU 核心的操作系统。
Linux 内核最开始的时候是有 Linux 在赫尔辛基大学读书的时候出于个人爱好而编写的。当时 unix 系统比较火,有一个用于教学的类unix操作系统。
他觉得这个系统简直太难用于是萌生了自己开发一个操作系统的。在1991年底。发布了, Linux 0.02版本内核。最后全世界的开源爱好者们一起共同推进的 Linux 系统的发展。
Linux 系统= Linux 内核+ GNU 项目组件=应用程序(数据库,网络,图形界面,音视频等等)
1991年底, Linus Torvalds 公开了 Linux 内核源码0.02版
1993年, Linux 1.0版发行,Linux 转向 GPS 版权协议
GPS 是一个强制开源协议,它规定如果你的应用直接或间接引用
GPS 版权代码并且没有进程级别的隔离,那么整个应用代码都要进
行开源
1994年, Linux 的第一个商业发行版 Slackware 问世
1996年,美国国家标准技术局的计算机系统实验室确认 Linux 版本1.2.13符合 POSIX 标准,正是支持了 POSIX 标准的 API 因此在可应用执行方面有了质的飞跃。
1999年, Linux 的简体中文发行版问世
2000年后, Linux 系统日趋成熟,涌现大量基于 Linux 服务器平台的应用,并广泛应用于基于 ARM 技术的嵌入式系统中
二. Linux 设计的主要思想
(1)一切皆文章
普通的文件,目录,字符设备,块设备,网络套接字等在 Linux 中都是文件,虽然他们的类型不同,但对应用程序提供的却是同一套 API
(2)程序简单模块化
Linux 系统开发在很早就遵循这样的设计理念,现代软件的设计思想也基本寻尊这个基础,遵循了这样的原则,最主要的好处有两个:降低耦合,实现重复共用。Linux 的各种命令有很多的选项,这些不同的选项为用户提供了很多不同的功能,通过这样的方式,它有很多很丰富的单一命令功能。
(3)小程序的组合已完成复杂的功能
用户可以通过管道符, shell 脚本等方式将不同的命令组合起来已完成复杂的任务需求
find.-name helloworld_demo*
find.-name helloworld*
find.-name helloworld* | grep
“
\.cS
”
find.-name helloworld* | grep
“
\.cS
”
| xargs file
Cat
‘
find.-name helloworld* | grep
“
\.cS
”’
三. Linux 系统组成
(1) Linux 系统组成
应用程序:办公软件,网络客户端,编程开发工具,游戏......
Shell:用户与系统交互的界面
组件工具等:监控系统性能的工具,应用程序开发使用的库,命令行调试工具
内核:进程管理,内存管理,设备驱动程序,网络系统等基本功能
文件系统:支持的文件系统格式,EXT 2, EXT 3, FAT , FAT 32, VFAT
(2) Linux 系统组成——软硬件结构图
Linux 内核:系统调用,进程管理 内存管理 VFS 网络 进程间通信 ,字符设备 块设备 网络设备。
四. Linux 在物联网领域的应用
在国内物联网操作系统得到大量应用之前, Linux 应该是物联网应用中使用最广泛的操作系统了
Linux 系统一般都比较大,为了适应物联网领域的应用场景,很多开源组织和商业公司对 Linux 进行裁剪, RT Linux 和 uCLinux 是两个比较有代表性的基于 Linux 的物联网操作系统
RT Linux 降低 Linux 内核默认任务的优先级,提高物联网应用程序的任务优先级 uCLinux 派生自 Linux 2.0/2.4 专为没有 MMU 的 CPU 进行剪裁和优化。