###一:什么是Linux?

Linux被称为类Unix操作系统,遵循POSIX标准。Linux与Unix的最大不同在于源代码的开放性和自由性。

Linux的发音:Linux发音

Linux的发展历史:1991年9月17日,Linus Torvalds 在网上发布了Linux的0.01版本。

  • 1994年3月13日,在众多程序员的努力下,Linux 1.0版本正式发布。呵呵,人多力量大,要学会分享知识。
  • 1996年,Linux 2.0发布,其重要特点是开始支持对称多处理器。
  • 2004年12月18日,Linux2.6.0版本发布。

###二:Linux所遵循的标准:

1、POSIX(Portable Oprating System Interface of Unix):即可移植操作系统接口,由IEEE于1988年发布。其作用是使在某一Unix版本下开发的应用程序也能应用于其他Unix版本,以此保证了软件代码的可移植性。

2、LSB(Linux Standard Base):由于Linux遵循POSIX标准,不同Linux发行版之间的源代码级有很好的兼容性,但二进制文件的兼容性不足,为解决这一问题,Linux Standard Base 项目应运而生,其主要目的是开发一系列标准,保证Linux不同发行版间的兼容性。

3、FHS(Filesystem Hierarchy Standard):即文件系统分级结构标准,是LSB标准的一部分,详细规定了类Unix操作系统中各种应用软件、管理工具、脚本和帮助文件所处的位置。

###三:GNU和GPL

GNU(GNU is not Unix):项目名称,该项目旨在实现一个自由并完整的类Unix操作系统,是自由软件发展的重要组成部分。

GPL(General Public License):该授权模式下的软件需满足以下条件:

  • 自由软件指的是软件开发者有发布软件的自由
  • 用户可获得源程序
  • 用户能修改软件或将它的一部分用于新的自由软件
  • 禁止任何人不承认软件开发者的权利。如果用户修改了自由软件,这些规定转化为该用户的责任。

###四:Linux目录结构:

  • /bin:存放对系统运行极为重要的二进制文件,也包括/usr/bin目录中文件的符号链接,同时还有一些用户命令。
  • /etc:存放系统配置文件。(只能存放静态文件)
  • /home:存放与各个用户相关的文件。
  • /tmp:临时目录,很多程序要在该目录下创建临时文件。
  • /var:存放经常变化的信息,如邮件、日志等。
  • /proc:伪目录,系统将当前运行的进程映射为文件,通过修改该目录的文件值可以完成对内核运行参数的修改。
  • /boot:存放启动所需文件。
  • /dev:存放特殊文件和设备文件。
  • /usr:存放与用户相关的程序和库文件。
  • /sbin:存放与系统相关的可执行程序。

###五:Linux系统组成:

用户进程、系统调用接口、Linux内核、硬件

###六:内核结构:

  • 进程调度:控制进程对cpu的访问,也就是根据一定的进程调度算法选择合适的进程运行。
  • 内存管理:用于控制多个进程安全地访问内存。Linux支持虚拟内存管理。
  • 虚拟文件系统:隐藏了各个不同文件系统实现的具体细节,为外界使用文件提供统一的接口。
  • 网络接口:提供了对各种标准协议的存取和各种网络硬件的支持。
  • 进程间通信:支持进程间各种通信机制。

###七:进程状态:

  • 可运行态:运行态和就绪态。
  • 浅度睡眠:可被信号和时钟中断唤醒的状态。
  • 深度睡眠:不可被信号和时钟中断唤醒的状态。
  • 暂停状态:进程暂停,接受类似于调试程序的处理。
  • 僵死状态:进程执行结束,大部分系统资源被释放,但进程pcb并未被释放。