Linux基础知识总结

###一:什么是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并未被释放。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

如何提升Java应用程序性能

作者 | Eugen Paraschiv 翻译 | 雁惊寒 【摘要】本文首先介绍了负载测试、基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代...

28080
来自专栏unlike

用paxos实现多副本日志系统--multi paxos部分

上篇 basic paxos : https://cloud.tencent.com/developer/article/1147420

50080
来自专栏做全栈攻城狮

安卓开发教程基础篇-多线程文件下载软件开发,断点续传技术揭秘

更多原创教程,关注微信公众平台:做全栈攻城狮。及做全栈攻城狮官网:www.8z5.net

9620
来自专栏程序工场

今晚九点|可视化分析 web 访问日志

多语言混搭开发工程师,多年 PHP、Python 项目开发经验,曾就职 360、绿盟科技,7年工作经验。擅长于 Web 安全开发、性能优化、分布式应用开发&设计...

16220
来自专栏喵了个咪的博客空间

phalapi-入门篇4(国际化高可用和自动生成文档)

phalapi-入门篇4(国际化高可用和自动生成文档) ? 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 在...

38390
来自专栏韩伟的专栏

编写可复用的服务端软件系统应该注意的五个重要细节

编写可复用的服务端软件系统应该注意的五个重要细节 作为程序员,我们往往希望自己写的代码能被最大程度的重用,但是我们依然能看到有很多“被重复发明的轮子”,其原因往...

396100
来自专栏云计算教程系列

如何在CentOS 7上使用Pacemaker建立Apache主动 - 被动群集

高可用性是当今的一个重要主题,因为服务中断可能非常昂贵。谨慎采取措施,以便在发生中断时保持您的网站或Web应用程序正常运行。使用Pacemaker堆栈,您可以配...

12300
来自专栏蓝天

Unix&Linux下常见的性能分析工具介绍

Vmstat是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的IO、中断、上下文切换、CPU使用等。系统性能分析工具中,使用...

11610
来自专栏一名合格java开发的自我修养

JMX,Jstatd做好JVM应用上线的最后一层保障

我理解的监控分两种,一种是运维的监控-监控整个集群的各项资源的使用情况以及各个服务的存活情况,另一种是开发的监控-监控代码问题导致的线程死锁,OOM等,以及业务...

25540
来自专栏互联网杂技

对angular开发者的建议,设计师也有

最近公司的项目使用angular,与ionic开发企业级软件; 现在项目越来越庞大了,我是中途加入团队,现在有时候就实现一个简单的需求,就要花费几天; 比如产品...

34860

扫码关注云+社区

领取腾讯云代金券