Linux中的几个思想

Linux所包含的哲学思想

Linux所包含的哲学思想核心便是自由、分享,而其他具体的思想主要可以概括为以下几个方面:

1.一切皆为文件

2.程序简单模块化

3.小程序的组合以完成复杂的功能

核心思想:自由与分享

在Linux出现的80年代,共享精神和商业规则的冲突已经十分明显,这种个人创造力和企业模式化运营的冲突达到了某种顶点。像互联网的出现包括其中TCP/IP和DNS协议等基础协议彻底改变了信息交换和资源共享的方式,由于无法盈利而交给了学术机构。在此期间的Unix厂商之间诉讼不断,主要是因为盈利丰厚,并且当时版权意识不强。为了继续推动科学成果的进步,科学界和学术界势必需要有自己的可自由操作的操作系统,Gun/Linux的产生满足了这种需求,成为自由分享推动科技进步的重要标志。

正是由于Linux不受商业利益所导向,所以Linux可以在自己的社区集结非常多的优秀的真正愿为科技做出自己贡献的人,可以充分发挥个人的智慧,将最优秀,最高效的解决方案调动起来。想必这才是科技改变改变人类生活的核心源泉,而那些商业化的操作系统商只需要向这股不断更新的源泉中摄取自己所需要的,为自己的盈利翻倍。

1.一切皆为文件

这是Linux操作系统具体施行的重要思想。所有在Linux展现的内容皆为文件,包括管理员本身,这使得Linux去掉了各种繁杂的文件后缀名,只是在必要的文件名后面加上标识符,比如压缩文件。Linux的文件系统的管理就像遵循着一条人本主义原则:每个人都是平等的。当然,这只是比喻,但如果真的删除自己的系统文件时,执行命令的控制器也会选择自杀,由于这种活动过于危险,后期的Linux也做了一些限制,以保证不删除系统必要的文件。

2.程序简单模块化

应该说这不只是Linux程序所遵循原则,而是所有应用程序所要遵循的原则,目的有两个,那就是降低耦合,避免程序臃肿,再这就是实现重复共用。就像是面向对象的编程语言中的接口,抽象类,类的设计,目的就是为了使每一个程序简单模块化。

3.小程序的组合以完成复杂的功能

就像是建筑的构建一样,组合了大量的必要构建。一个功能完善的程序必然由许多小的程序所组成,但是越是拥有庞大功能程序,其所暴露的问题无疑也是相当多的,从效率上讲,小程序组合大大加快了开发效率,从减少问题的角度上讲,使用标准化小程序能够大大降低复杂程序出现问题的概率。

时间: 2024-10-23 18:41:13

Linux中的几个思想的相关文章

Linux中等待队列的实现

1.       等待队列数据结构 等待队列由双向链表实现,其元素包括指向进程描述符的指针.每个等待队列都有一个等待队列头(wait queue head),等待队列头是一个类型为wait_queque_head_t的数据结构: struct __wait_queue_head { spinlock_t lock; struct list_head task_list; }; typedef struct __wait_queue_head wait_queue_head_t; 其中,lock是

Linux中IO重定向和管道

IO重定向和管道 根据冯诺依曼原理的知识,计算机运行有数据流的输入和输出,称之为IO. Linux中一切皆文件思想,表现为具体的文件. 在linux中打开的文件都有一个fd(File Descriptor):文件描述符 程序:指令+数据 读入数据:Input 输出数据:Output Linux给程序提供三种I/O设备: 1. 标准输入(STDIN): -0 默认为接受键盘输入2. 标准输出(STDOUT):-1 默认为输出到终端窗口3. 标准错误(STDERR):-2 默认为输出到终端窗口注:标

Linux中的两个经典宏定义:获取结构体成员地址,根据成员地址获得结构体地址;Linux中双向链表的经典实现。

倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 container_of 这两个宏应该不陌生.这两个宏最初是极客写出的,后来在Linux内核中被推广使用. 1. offsetof 1.1 offsetof介绍 定义:offsetof在linux内核的include/linux/stddef.h中定义.#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) 说明:获得结构体(TYPE)的变量成员(

Linux中的简单命令

history:打印你输过的命令      1.用户在shell中输入的命令会自动保存到内存缓冲区      2.在退出shell的时候,内存中的数据会刷新到磁盘文件:~/.bash_history 快捷键     ESC + .:获取上一个命令的最后一个参数     !序号:执行编号为多少的历史命令     !!:执行上一条命令     !字符串:从最后向前来匹配以指定字符串为开头的命令 history 选项     -c:清空历史命令     -a:将内存中的历史命令追加在~/.bash_h

Linux 中的零拷贝技术,第 2 部分

技术实现 本系列由两篇文章组成,介绍了当前用于 Linux 操作系统上的几种零拷贝技术,简单描述了各种零拷贝技术的实现,以及它们的特点和适用场景.第一部分主要介绍了一些零拷贝技术的相关背景知识,简要概述了 Linux 为什么需要零拷贝技术以及 Linux 中都有哪几种零拷贝技术.本文是本系列文章的第二部分,针对第一部分内容中提到的几种零拷贝技术分别进行更详细的介绍,并对这些零拷贝技术的优缺点进行分析. 0 评论: 黄 晓晨, 软件工程师, IBM 冯 瑞, 软件工程师, IBM 2011 年 1

【Linux相识相知】计算机的组成、linux发行版和哲学思想、基础命令和目录结构

从今天开始,Frank将开始在博客上记录自己学习linux的点点滴滴,F初来乍到,还望各位大佬多多指教.本次博客的主要内容如下: 计算机基础:简要的描述了计算机的组成及其功能: linux初识:介绍了linux主流的发行版,说明了不同的发行版之间的区别和linux的哲学思想,列出了linux发行版的基础目录名称命名法则及功能规定: 基础命令:详细介绍一些基础的命令,并就如何在linux系统上获取命令的帮助做出了解释. 一.计算机的组成及其功能 计算机主要是由5个部分组成 控制器(Control)

在Linux中如何利用backtrace信息解决问题

在Linux中如何利用backtrace信息解决问题 一.导读 在程序调试过程中如果遇到程序崩溃死机的情况下我们通常多是通过出问题时的栈信息来找到出错的地方,这一点我们在调试一些高级编程语言程序的时候会深有体会,它们通常在出问题时会主动把出问题时的调用栈信息打印出来,比如我们在eclipse中调试java程序时. 当这些换到Linux上的C/C++环境时情况将变的稍微复杂一些,通常在这种情况下是通过拿到出问题时产生的core文件然后再利用gdb调试来看到出错时的程序栈信息,这是再好不过的了,但当

Linux中CPU与内存性能监测

在系统维护的过程中,随时可能有需要查看 CPU 使用率内存使用情况的需要,尤其是涉及到JVM,程序调优的情况,并根据相应信息分析系统状况的需要. top命令 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令为 q (在 top 运行中敲 q 键一次). 可以直接使用top命令

awk -F选项同时指定多个符号做为分割符时遇到空格坑,题目:请执行命令取出 linux 中 eth0 的 IP 地址

第三关课前考试题:3.请执行命令取出 linux 中 eth0 的 IP 地址(请用 cut,有能力者也可分别用 awk,sed 命令答) 因为以前有个题讲过awk -F选项可以指定输入分割符,也可以同时使用多个符号作为分割符对文件进行切割,所以我决定先使用awk -F 以前awk -F同时指定多个分割符的例子: [[email protected] ~]# cat oldboy.txt I am oldboy,myqq is 31333741 [[email protected] ~]# aw