【Linux操作系统】计算机操作系统——Linux

【Linux操作系统】计算机操作系统——Linux

今天我们开始学习Python中的进阶课程,相信大家学习完Python基础以后,都对python多多少少有一些了解了,所以今天我们就往更深的去学习python!

在学习Python以前,我们需要先对一些基本常识进行了解,不然以后学习的时候会比较吃力!

什么是操作系统Operation System(OS)?

  • 直接运行在计算机上的系统软件,它是控制硬件和支持软件运行的计算机程序
  • 操作系统是应用软件的一个最基本的平台,也可以理解为操作系统是应用软件和硬件之间的一个桥梁

常见的操作系统

  • windows
  • mac OS
  • Linux
  • iOS
  • Android
  • Win Phone
  • windows Server

操作系统的应用领域

  • 桌面操作系统(windows系列、mac OS、Linux)
  • 服务器操作系统(windows server(付费、占有率低)、Linux(安全、稳定、免费))
  • 嵌入式操作系统(Linux)
  • 移动号设备操作系统(iOS/Android(Java+Linux))

操作系统的作用

  1. 是现代计算机系统中最基本和最重要的系统软件
  2. 是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展
  3. 主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用
  4. 其他的编译程序、数据库管理系统以及大量的应用软件都直接依赖于操作系统的支持

注意:

  • 没有安装操作系统的计算机称为裸机
  • 如果想要在裸机上运行自己所编写的程序,就必须需要用机器语言书写程序
  • 如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,使用高级语言开发程序

什么是虚拟机?

  • 虚拟机就是模仿一个真实的计算机,好比是一个虚拟的电脑,这台电脑指的就是一个裸机,任何一台计算机起始装一个系统软件。
  • 一般情况下一个系统需要单独的运行空间。在学习中一般面对一个新的操作系统可以通过虚拟机来完成

常用的虚拟机

  • VMware
  • VirtualBox

注意:

  • 虚拟机之间是相互独立的,删除虚拟机不会对其他的虚拟机产生影响,也不会对主系统产生影响

计算机组成:

  • 最底部(硬件设备)=》windows系统=》VMware=》虚拟机软件=》Linux系统、macOS系统

讲完这些基础知识以后,我们就进入我们今天的重点吧!

Linux系统

Linux系统发展史(了解即可)

简述

Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由Linus Torvalds在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。

目前Linux已经被移植到更多的计算机硬件平台,Linux可以运行在服务器和其他大型平台之上,如大型主机和超级计算机。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电子游戏机等。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。

Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)和openSUSE等。

Linux发行版包含Linux内核和支撑内核的实用程序和库,通常还带有大量可以满足各类需求的应用程序。个人计算机使用的Linux发行版通常包含X Window和一个相应的桌面环境,如GNOME或KDE。桌面Linux操作系统常用的应用程序,包括Firefox网页浏览器、LibreOffice办公软件、GIMP图像处理工具等。由于Linux是自由软件,任何人都可以创建一个匹配自己需求的Linux发行版。

Linux严格来说是单指操作系统的内核,因操作系统中包含了许多用户图形接口和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,内核则改称Linux内核。

历史

  • UNIX

UNIX操作系统(英语:UNIX),是美国AT&T公司贝尔实验室于1969年完成的操作系统。最早由肯·汤普逊(Ken Thompson),丹尼斯·里奇(Dennis Ritchie),道格拉斯·麦克罗伊(Douglas McIlroy),和乔伊·欧桑纳于1969年在AT&T贝尔实验室开发。于1971年首次发布,最初是完全用汇编语言编写,这在当时是一种普遍的做法。后来,在1973年用一个重要的开拓性的方法,Unix被丹尼斯·里奇用编程语言C(内核和I/O例外)重新编写。高级语言编写的操作系统具有更佳的兼容性,能更容易地移植到不同的计算机平台。

  • GNU

1983年,理查德·马修·斯托曼创立GNU计划。这个计划有一个目标,是为了发展一个完全自由的类Unix操作系统。自1984年发起这个计划以来,在1985年,理查德·马修·斯托曼发起自由软件基金会并且在1989年撰写GPL。1990年代早期,GNU开始大量的产生或收集各种系统所必备的组件,像是——库、编译器、调试工具、文本编辑器、网页服务器,以及一个Unix的用户界面(Unix shell)——但是像一些底层环境,如硬件驱动、守护进程运行内核(kernel)仍然不完整和陷于停顿,GNU计划中是在马赫微核(Mach microkernel)的架构之上开发系统内核,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。

  • BSD

386BSD因为法律问题直到1992年还没有发布,NetBSD和FreeBSD是386BSD的后裔,早于Linux。林纳斯·托瓦兹曾说,当时如果有可用的386BSD,他就可能不会编写Linux。

  • MINIX

MINIX是一个轻量小型并采用微内核(Micro-Kernel)架构的类Unix操作系统,是安德鲁·斯图尔特·塔能鲍姆为在计算机科学用作教学而设计的。

  • Linux

在1991年,林纳斯·托瓦兹开始在MINIX上开发Linux内核,为MINIX写的软件也可以在Linux内核上使用。后来使用GNU软件代替MINIX的软件,因为使用从GNU系统来的源代码可以自由使用,这对Linux的发展是有益。使用GNU GPL协议的源代码可以被其他项目所使用,只要这些项目使用同样的协议发布。为了让Linux可以在商业上使用,林纳斯·托瓦兹决定更改他原来的协议(这个协议会限制商业使用),以GNU GPL协议来代替。之后许多开发者致力融合GNU元素到Linux中,做出一个有完整功能的、自由的操作系统。

  • Minix & Linux历史源流

Linux的标志和吉祥物是一只名字叫做Tux的企鹅标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择企鹅作为Linux的标志。更容易被接受的说法是:企鹅代表南极,而南极又是全世界所共有的一块陆地。这也就代表Linux是所有人的Linux。

  • 发展现状

今天由Linus Torvalds带领下,众多开发共同参与开发和维护Linux内核。理查德·斯托曼领导的自由软件基金会,继续提供大量支持Linux内核的GNU组件。一些个人和企业开发的第三方的非GNU组件也提供对Linux内核的支持,这些第三方组件包括大量的作品,有内核模块和用户应用程序和库等内容。Linux社区或企业都推出一些重要的Linux发行版,包括Linux内核、GNU组件、非GNU组件,以及其他形式的的软件包管理系统软件。

系统架构

基于Linux的系统是一个模块化的类Unix操作系统。Linux操作系统的大部分设计思想来源于20世纪70年代到80年代的Unix操作系统所创建的基本设计思想。Linux系统使用宏内核,由Linux内核负责处理进程控制、网络,以及外围设备和文件系统的访问。在系统运行的时候,设备驱动程序要么与内核直接集成,要么以加载模块形式添加。

Linux具有设备独立性,它内核具有高度适应能力,从而给系统提供了更高级的功能。GNU用户界面组件是大多数Linux操作系统的重要组成部分,提供常用的C函数库,shell,还有许多常见的Unix实用工具,可以完成许多基本的操作系统任务。大多数Linux系统使用的图形用户界面创建在X窗口系统之上,由X窗口(XWindow)系统通过软件工具及架构协议来创建操作系统所用的图形用户界面。

已安装Linux操作系统包含的一些组件:
启动程序——例如GRUB或LILO。该程序在计算机开机启动的时候运行,并将Linux内核加载到内存中。
init程序。init是由Linux内核创建的第一个进程,称为根进程,所有的系统进程都是它的子进程,即所有的进程都是通过init启动。init启动的进程如系统服务和登录提示(图形或终端模式的选择)。
软件库包含代码,可以通过运行的进程。在Linux系统上使用ELF格式来执行文件,负责管理库使用的动态链接器是“ld-linux.so”。Linux系统上最常用的软件库是GNU C库。
用户界面程序,如命令行shell或窗口环境。

Linux发行版

Linux发行版指的就是通常所说的“Linux操作系统”,它一般是由一些组织、团体、公司或者个人制作并发行的。Linux内核主要作为Linux发行版的一部分而使用。通常来讲,一个Linux发行版包括Linux内核,以及将整个软件安装到电脑上的一套安装工具,还有各种GNU软件,和其他的一些自由软件,在一些Linux发行版中可能会包含一些专有软件。发行版为许多不同的目的而制作,包括对不同电脑硬件结构的支持,对普通用户或开发者使用方式的调整,针对实时应用或嵌入式系统的开发等等。目前,超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。较为知名的有Debian、Ubuntu、Fedora和openSUSE等。

一个典型的发行版包括:Linux内核,GNU库和各种系统工具,命令行Shell,图形界面底层的X窗口系统和上层的桌面环境等。桌面环境有如KDE或GNOME等,并包含数千种从办公包,编译器,文本编辑器,小游戏,儿童教育软件,到科学工具的应用软件。

主要特性

  • 列表内容

一切都是文件。每个软件都有确定的用途。
其中第一条详细来讲就是系统中的所有都归结为一个文件,包括:命令、硬件和软件设备、操作系统、进程等等,对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

  • 完全免费

Linux是一款免费的操作系统,用户可以通过网络或其它途径免费获得,并可以任意修改其源代码。这是其它操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

  • 完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序,这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

  • 多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

  • 良好的界面

Linux同时具有字符界面和图形界面,在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

  • 支持多种平台

Linux可以运行在多种硬件平台上,如:具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构,同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

Linux内核版本

Linux内核使用三种不同的版本编号方式。

用于1.0版本之前(包括1.0)。第一个版本是0.01,紧接着是0.02、0.03、0.10、0.11、0.12、0.95、0.96、0.97、0.98、0.99和之后的1.0。用于1.0之后到2.6,数字由三部分“A.B.C”,A代表主版本号,B代表次主版本号,C代表较小的末版本号。只有在内核发生很大变化时(历史上只发生过两次,1994年的1.0、1996年的2.0),A才变化。可以通过数字B来判断Linux是否稳定,偶数的B代表稳定版,奇数的B代表开发版。C代表一些bug修复,安全更新,新特性和驱动的次数。以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较小的末版本号。在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。

从2004年2.6.0版本开始,使用一种“time-based”的方式。3.0版本之前,是一种“A.B.C.D”的格式。这些年里,前两个数字A.B即“2.6”保持不变,C随着新版本的发布而增加,D代表一些bug修复、安全更新、添加新特性和驱动的次数。3.0版本之后是“A.B.C”格式,B随着新版本的发布而增加,C代表一些bug修复、安全更新、新特性和驱动的次数。

第三种方式中不再使用偶数代表稳定版,奇数代表开发版这样的命名方式。举个例子:3.7.0代表的不是开发版,而是稳定版!

Linux内核及发行

内核

内核指的是一个系统的心脏,是运行程序和管理磁盘、打印机等硬件设备的核心程序,它提供了一个在裸机与应用程序间的抽象层

Linux内核版本有分为稳定版和开发版,两个版本时相互关联,相互循环

稳定版:具有商业价值,具有工业级强度,可以广泛的应用和部署,新的版本针对旧版本只是添加一些功能和修复bug

开发版:由于要实验各种解决方案,变化很快

发行
  • Linux发行版也叫Gun/Linux发行版。通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件

常见的发行版:

  • Ubuntu
  • Redhat
  • Fedora
  • CentOS

Linux应用领域

服务器

  • linux在服务器领域的应用占一半
  • Linux免费、稳定、高效

嵌入式

  • 机顶盒、数字电视、网络电话、交换机等

个人桌面

  • 这个是传统的Linux应用最薄弱的领域
  • 传统Linux界面简单、操作复杂、应用软件少
  • 几年来Ubuntu和Fedora等优秀桌面环境也慢慢兴起

具体如何安装虚拟机以及linux系统,请关注鄙人博客,在鄙人博客中有写到!

你可能感兴趣的:(python,linux,虚拟机)