1. 计算机的组成及其功能。

  • 什么是计算机?
  • 计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。
  • 计算机的组成及功能?
  • 计算机组成分为两部分,==硬件组成和软件组成==
  • 硬件组成:根据冯诺伊曼体系架构,计算机主要组件有:控制器、运算器、存储器、输入设备、输出设备,各个组件功能如下:
  • 控制器:CPU的组成之一,负责计算机的行为动作控制,决定计算机要干什么。
  • 运算器:CPU的组成之一,负责计算机的算术运算等。
  • 存储器:存储计算机内核和程序运行所需的数据,易失性存储设备,断电将清空其存储的所有数据。
  • 输入设备:外部与计算机的交互设备,负责向计算机输入数据。常见的输入设备:键盘、鼠标等。
  • 输出设备:计算机与外部的交互设备,负责输出计算机的数据。常见的输出设备:显示器等。
  • 软件组成:操作系统和应用程序
  • 操作系统(OS)是管理计算机硬件和软件资源的系统软件,为计算机程序提供公共服务。狭义上来说就是一个通用的应用程序,也称为内核,主要为程序的运行提供一个环境。
  • 应用程序是指为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序。

2. linux内核功能以及作用

  • 内核是一个操作系统的核心,内核以独占的方式执行最底层任务,保证系统正常运行。主要具备以下功能和作用
  • 驱动程序:驱动各种硬件设备,如键盘、鼠标、显示器等硬件设备。
  • 进程管理:管理运行在内核上的各个进程。
  • 网络管理:提供各种网络标准的存取,没有网络的计算机如同大海中的孤岛。
  • 内存管理:为运行在内核上的应用程序分配其所需的内存,并通过虚拟内存的方式将各应用程序进行隔离,让应用程序互不干扰的运行。
  • 文件系统:在存储设备上组织文件的方法,主要负责管理和存储文件信息,linux内核通过VFS支持多种文件系统。
  • ... ...

3. Linux的发行版

  • Linux发行版指的就是通常所说的“Linux操作系统”,它可能是由一个组织、公司或者个人发布的。通常来讲,一个Linux发行版包括Linux内核、将整个软件安装到计算机上的一套安装工具、各种GNU软件,以及其他一些自由软件,在一些特定的Linux发布版中也有一些专有软件。普遍被使用的发行版有如下几个:
  • 1)Red Hat Enterprise Linux
  • RHEL是Red Hat公司的企业版Linux系统,因其稳定强大、各大厂商认证和良好的技术支持,其在Linux服务器上市场占有较多的份额。采用RPM的包管理方式,很多发行版都或多或少地受到它的影响。
  • 2)CentOS
  • CentOS由社区开发并维护,基于RHEL,并与RHEL版本号保持一致,致力于提供一个自由使用且稳定的RHEL。开发者直接修改RHEL的源代码,去除了Red Hat的商标和商业服务组件,修复了很多存在的bug。其拥有自己的软件仓库,提供免费的在线更新程序。已被Red Hat收购。
  • 3)Fedora
  • Fedora主要由Red Hat主持的社区Linux项目,采用同样的RPM包管理,致力于最新技术的开发和引入。经过测试稳定且有价值的技术将被RHEL吸纳。坚持每半年发布一个版本。
  • 4)SUSE Linux
  • SUSE Linux是在欧洲非常流行的Linux发行版,以界面华丽和简单易用著称,2004年被Novell收购。Novell提供企业级的SUSE Linux Enterprise Server | Desktop软件和商业技术支持服务,市场占有率较高。OpenSUSE是基于企业版的社区提供的免费SUSE Linux。
  • 5)Debian
  • Debian是一个完全开放、强烈信奉自由软件的系统,由Debian计划组织维护,其背后没有任何营利组织的支持,开发人员完全来自于全世界各地的志愿者。Debian基于DEB的包管理方式,APT的在线软件安装更新非常方便且快速。提供超过18000个软件包的支持,受到研究机构开发人员的极大欢迎。
  • 6)Ubuntu
  • 基于Debian开发,采用相同的DEB和APT。通过精挑细选,保证软件质量,致力于开发一个简单易用的Linux系统。由Canonical支持,坚持每6个月发布一个版本,分别提高6个月和3年(LTS)的技术支持。由于其易用性和遍布世界各地的镜像源服务器,使得Ubuntu近年来变得非常流行。
  • 此外还有一些非常有特色且流行的Linux发行版。
  • Arch Linux:一个基于KISS(Keep It Simple and Stupid)的滚动更新的操作系统。
  • Gentoo:一个面向高级用户的发行版,所有软件的源代码需要自行编译。
  • Elementary OS:基于Ubuntu,界面酷似Mac OS X。
  • Linux Mint:一个从Ubuntu派生并与Ubuntu兼容的系统。
  • 不同发行版之间的联系与区别
  • linux根据不同的需求产生众多的发行版,但一般都具备Linux内核、包管理工具、各种GNU软件等,只是各自偏向不同,例如有些偏向桌面端、有些偏向服务端等。
  • linux家族
  • https://en.wikipedia.org/wiki/File:Linux_Distribution_Timeline.svg

4、常见的开源协议

  • 开源许可证有GPL、BSD、MIT、Mozilla、Apache和LGPL。

  • - 开源软件的特性:
  • 使用自由:自由学习、自由修改源代码
  • 可以出于任何目的获取源代码
  • 重新发布自由:自由分发源代码
  • 创建衍生品自由:自由创建衍生版

5、Linux的哲学思想

  • 1)一切皆文件
  • 把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等,便于统一管理和定义;
  • 对文件的操作有:open,read,write,close,delete,create
  • 2)由众多功能单一的程序组成
  • 一个程序只做一件事,并且做好,保证了Linux内核的高效运行;
  • 3)组合小程序完成复杂任务
  • 通过连接多个简单的程序实现复杂的功能;
  • 4)尽量避免和用户交互
  • 更贴近编程,易于以编程的方式实现自动化任务;
  • 5)使用文本文件保存配置信息
  • 修改配置信息只需要任意一款文本编辑器就可以进行。
  • 6)提供机制,而非策略;

6、linux目录结构以及目录结构命名

  • Linux目录结构遵循FHS(文件系统层次结构标准),以下根据名称和用途列出系统中重要的目录。
  • /bin,/sbin(符号链接):系统自身启动和运行时可能会用的核心二进制命令。

  • /boot:系统引导加载时用到的静态文件,内核和ramdisk(CentOS5:initrd, CentOS6:initramfs), grub(bootloader)。

  • /dev:devices的简写,所有设备的设备文件都存放于此处;设备文件通常也称为特殊文件(仅有元数据,而没有数据)。

  • /etc:系统的配置文件。

  • /home:普通用户存储其个人数据和配置文件的主目录。

  • /lib,/lib64(符号链接):共享库文件和内核模块

  • /opt:第三方应用程序的安装目录

  • /proc:伪文件系统,内核和进程信息的虚拟文件系统接口

  • /root:超级用户root的主目录。

  • /run:自上一次系统启动以来启动的进程的运行时数据。这包括进程ID文件和锁定文件,等等。次目录中的内容在重启时重新创建。(次目录整合了旧版的/var/run和/var/lock。)

  • /srv:服务所用到的数据

  • /sys:伪文件系统,硬件设备信息虚拟文件系统接口

  • /tmp:供临时文件使用的全局可写空间。10天内未访问、未更改或未修改的文件将自动从改目录中删除。还有一个临时目录/var/tmp,该目录中的文件如果在30天内未曾访问、更改或修改过,将被自动删除。

  • /usr:安装的软件、共享的库,包括文件和静态只读程序数据。重要的子目录有:

  • -/usr/bin:用户命令。

  • -/usr/sbin:系统管理命令。

  • -/usr/local:本地自定义软件

  • /var:特定于此系统的可变数据,在系统启动之间保持永久性。动态变化的文件(如数据库、缓存目录、日志文件、打印机后天处理文档和网站内容 )可以在/var下找到

  • /mnt,/media:设备临时挂载点

  • 在CentOS7中,/中的四个较旧的目录现在与它们在/usr中对应的目录拥有完全相同的内容。
  • -/bin和/usr/bin。

  • -/sbin和/usr/sbin。

  • -/lib和/usr/lib。

  • -/lib64和/usr/lib64。

  • 在CentOS的较早版本中,这些是不同的目录,包含几组不同的文件。在CentOS7中,/中的目录是/usr中对应目录的符号链接。