第一章 什么是Linux(鸟哥的Linux私房菜基础学习篇)

简介:
1,请问一个完整的操作系统,应该包含哪些部分?
   答:两部分:(1)核心与其提供的接口工具。
                     (2)利用核心提供的接口工具所开发的软件。
2,UNIX 是谁写出来的?GNU计划是谁发起来的?GNU的全名是什么?主要由哪个基金会支持?
   答:UNIX在1973年,Ritchie等人用C语言写出第一个正式的UNIX核心;GNU全名是General Public License,在1984年由Stallman发起,FSF(Free software Foundation)基金会支持。FSF也是由Stallman成立。
3,什么是GPL?
  答:Gpl(General Public License )由Stallman与律师草拟,又称copyleft,Stallman为了避免开发的开放源码的自由软件被用做版权软件,将GNU与FSF开发出来的软件都挂上了GPL的版权声明。 一个软件挂上了GPL版权之后,它自然就成了自由软件,而这里的自由软件的重点并不是指“免费”,而是指“自由度”。用户可以自由执行,复制,再发行,学习,修改与强化自由软件,在您修改后,不能取消GPL授权,将大家的成果占为已有。
4,什么是POSIX?
答:POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX 是为了读音更像 UNIX)。 电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限于 UNIX。许多其它的操作系统,例如 DEC OpenVMS 和 Microsoft Windows NT,都支持 POSIX 标准,尤其是 IEEE Std. 1003.1-1990(1995 年修订)或 POSIX.1,POSIX.1 提供了源代码级别的 C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。(来自百度百科)
5,Linux由谁开发?
答:1991年,芬兰赫尔辛基大学的Linus Torvalds以bash,gcc等开具写了一个小小的核心程序,Torvalds在Intel386机器上,安装了Minix操作系统,由于Minix操作系统附上了源码,所以他学习这个源码,学到了很多核心程序设计的概念。
     当时的目的:Torvalds当时想写一个更适合自己用的Minix操作系统,所以进行核心程序的编写。
     使用的工具:以GNU的软件针对386机器,参考Minix的设计理念(并没有使用Minix的源码),为了让linux能够兼容UNIX系统,他参考了POSIX标准规范。
     为什么叫Linux:因为当时他放到FTP网站上的目录为Linux,所以大家都叫这个核心为Linux.
     为什么流行的快:因为他把核心放了网上,供大家下载。
总上所述:Linux其实就是一个操作系统最底层的核心及其提供的工具。它是GNU授权模式,任何人可以获取源码,并且可以对它进行修改,因它参考了POSIX标准,所以兼容UNIX,可称为类UNIX的一种。Linux采用很多GNU相关软件,所以Stallman认为Linux的全名应该叫做GNU/Linux.
        在1984年Andrew Tanenbaum(谭邦宁)教授为了教学生学习UNIX,可是又没有UNIX的核心源码(1979年发行的UNIX第7版中,AT&T公司特别提到了“不可对学生提供源码),所以谭邦宁教授自己动手写了Minix这个类UNIX的核心程序,当时开发人员只有谭邦宁教授,又是出于教学,没放到网上,又不是完全面费,不过真的很便宜。虽然很受欢迎,但不能满足用户需求,所以传播速度不快。
6,软件开发商及软硬件开发人员要遵守什么标准?
答:(1)LSB(Linux Standard Base,http://www.linuxbase.org);
      (2)FHS(File system Hierarchy Standar,http://www.pathname.com/fhs/)


本文转自xcjgutong 51CTO博客,原文链接:http://blog.51cto.com/xuchengji/301178
相关文章
|
1月前
|
Ubuntu 安全 Unix
【Linux学习】零基础学习Linux
【Linux学习】零基础学习Linux
|
1月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
1月前
|
Ubuntu Unix 大数据
为什么要学习 Linux ????
为什么要学习 Linux ????
30 0
|
2月前
|
Linux Shell 数据安全/隐私保护
【Linux】基础学习篇三:用户与权限(持续更新)
【Linux】基础学习篇三:用户与权限(持续更新)
|
1月前
|
Linux 编译器 开发工具
Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
|
2月前
|
Linux
【Linux】基础学习篇一:Linux初始设置(持续更新)
【Linux】基础学习篇一:Linux初始设置(持续更新)
|
3月前
|
监控 Linux Shell
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
在线上排查问题时,查询日志、查看系统配置和分析操作系统信息是至关重要的。这些操作可以帮助我们深入了解软件和服务的兼容性,并解决潜在的问题。在本次学习中,我们将介绍并深入学习一些我在处理类似问题时常用的指令。通过掌握这些指令,你将能够更加高效地定位和解决线上问题,提高系统的稳定性和性能。让我们一同进入这个学习过程吧!
43 0
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
|
1天前
|
消息中间件 Unix Linux
Linux的学习之路:17、进程间通信(1)
Linux的学习之路:17、进程间通信(1)
13 1
|
1天前
|
存储 安全 Linux
Linux的学习之路:9、冯诺依曼与进程(1)
Linux的学习之路:9、冯诺依曼与进程(1)
13 0
|
1天前
|
Unix Linux Windows
Linux的学习之路:3、基础指令(2)
Linux的学习之路:3、基础指令(2)
16 0