第一章 什么是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
相关文章
|
5月前
|
NoSQL 关系型数据库 MySQL
Linux学习记录---(1、基本命令)
该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
Linux学习记录---(1、基本命令)
|
2月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
116 2
|
2月前
|
存储 安全 Linux
|
2月前
|
Linux Shell 数据安全/隐私保护
|
6月前
|
Ubuntu Linux vr&ar
IM跨平台技术学习(十二):万字长文详解QQ Linux端实时音视频背后的跨平台实践
本文详细记录了新版QQ音视频通话在 Linux 平台适配开发过程中的技术方案与实现细节,希望能帮助大家理解在 Linux 平台从 0 到 1 实现音视频通话能力的过程。
204 2
|
3月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
3月前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
51 1
|
3月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
121 0
|
5月前
|
NoSQL Ubuntu Linux
Linux内核学习
Linux内核学习
113 3
|
4月前
|
Linux
使用qemu来学习Linux的休眠和唤醒
使用qemu来学习Linux的休眠和唤醒