博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统简析
阅读量:3950 次
发布时间:2019-05-24

本文共 3955 字,大约阅读时间需要 13 分钟。

目录

一.什么是操作系统

没有了解操作系统之前,我心目中的操作系统就好像是控制一堆机器在操作,很明显这和真正的操作系统大相径庭。

了解操作系统前先要对计算机有一个认识,计算机的组成可以大体分为硬件部分和软件部分,硬件是计算机工作的实体,都是看的着摸得见的东西,像显示器、鼠标、键盘、硬盘、CPU等;软件会按照用户的意愿来协调计算机的工作,软件里就包含操作系统和应用软件。所以,操作系统是软件。既然是软件,那操作系统是一个什么样的软件?操作系统是硬件基础上的第一层软件,它是硬件和其他软件交流的窗口、中介。

二.操作系统的功能

操作系统会控制其他程序的运行,管理系统资源、提供最基本的计算功能,比如管理及配置内存、决定系统资源供应的优先次序,同时还提供一些基本的服务程序,比如:

1.文件系统

操作系统提供了计算机储存信息的结构,信息储存在文件中,文件主要储存在计算机的内部硬盘里,然后在目录的分层结构中组织文件。简单说,文件系统为操作系统提供了组织管理数据的方式

2.设备驱动程序

操作系统提供了连接计算机每个硬件设备的接口,利用设备驱动程序能够写入设备,而不需要了解其中硬件连接的具体细节,设备驱动程序将与硬件设备交流的条件都处理好了,用户通过设备驱动程序来控制硬件设备的工作

3.用户接口(UI)

如果说设备驱动程序是操作系统与硬件交流的中介,那用户接口就是操作系统与用户交互的中介,用户接口为用户提供了一种运行程序和访问文件系统的方法,简单来说,用户接口就是用户和计算机交互的翻译官,它将计算机的信息转换为人们可以理解的形态,像如Windows的图形界面,这方便操作系统与用户的交互

4.系统服务程序

操作系统提供系统服务程序,在计算机开机的时候,会自动启动很多系统服务程序用来执行安装文件系统、启动网络服务、运行预定的服务等操作

三.UNIX操作系统

UNIX操作系统可以说是操作系统中“大哥大”级别的了,相比于现在主流的操作系统,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,后来的 Windows 和 Linux 都参考了UNIX。

1.UNIX起源

UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明,它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。但由于 Multics 工程计划所追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,最终以失败收场。以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。起先UNIX主要在贝尔实验室的程序员直接流传,1971-1972 年,肯•汤普森的同事丹尼斯•里奇发明了传说中的C语言,然后UNIX的大部分源代码都用C语言进行了重写,这大大提高了UNIX的可移植性(之前的操作系统由汇编语言编写,对硬件的依赖性高),可以说UNIX与C语言有着密不可分的关系。肯•汤普森(UNIX)和丹尼斯•里奇(C语言)因在计算机领域做出的杰出贡献,于 1983 年获得了计算机科学的最高奖——图灵奖

附上俩人的合照:
(博主也想留这样性感的大胡子^ . ^)

2.类UNIX系统

类 UNIX 系统(英文 Unix-like)既包括各种传统的 UNIX 系统,比如 FreeBSD、OpenBSD、Sun Solaris 等,还包括与 UNIX 相似的系统,比如 Linux、QNX、Minix 等,它们都相当程度地继承了原始 UNIX 的特性,有很多相似之处,并且都在一定程度上遵守 POSIX 规范(UNIX 可移植接口规范)。有的类UNIX系统是收费的,Linux是最著名的一个类UNIX系统,现在Linux占领了市场上大部分份额,除去Windows系统,几乎每一个操作系统都是UNIX或者类UNIX,比如在手机领域,AndroidiOS 都是类 UNIX 系统。

四.Linux操作系统

1.Linux诞生

Linux的内核是由一名大学生开发的,Linux内核是李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。他没有保留Linux源代码的版权,而是发到了网上邀请其他人一起完善Linux,所以Linux是开放源代码,任何人都可以使用它。 我相信这就是Linux直到现在还是火热的操作系统的原因,开源的力量!!!

Linux的logo是一可爱的企鹅,选择企鹅作为logo的原因据说是:
企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,可国家都无权将南极洲纳入其版图。Linux 选择企鹅图案作为 Logo,其含义是:开放源代码的 Linux 为全人类共同所有,可公司无权将其私有。
在这里插入图片描述
附上李纳斯•托瓦兹一张:
在这里插入图片描述
李纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,何况,他还搞出了全世界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。

2.Linux与UNIX

可以说UNIX是Linux之父,二者具有很多相似之处,Linux 是一个类似 UNIX的操作系统,UNIX 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 改进了 UNIX,使得 Linux 在外观和交互上与 UNIX 非常类似。但二者也有明显的区别:

区别一:UNIX系统大多与硬件配套,所以大多数UNIX无法安装在X86服务器和PC上,而Linux却可以运行在多种硬件平台上。
区别二:UNIX是商业软件,小公司和个人难以承受其费用,而Linux是开源软件,方便开发者使用。

3.Linux系统结构

Linux系统结构可以大体分为三层,底层是Linux操作系统,即Linux内核;中间层是Shell层,即命令解释层;高层是应用层。结构框图如下:

在这里插入图片描述

内核层

内核层是Linux系统的核心和基础,它直接附在硬件平台上,控制管理着系统内的各种资源,有效组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供可靠、方便、安全的应用环境。简单来说,是内核层直接操作着硬件的运行,内核层是计算机系统中的基层干部,负责调配广大硬件们的运作。

Shell层

Shell层是与用户直接交互的界面,用户可以在Shell的提示符下输入命令,然后由Shell解释执行并输出相应结果,所以也称Shell为命令解释器,用户利用系统提供的丰富的命令可以快捷的完成许多任务。Shell层对于内核层就像上级领导对基层干部一样,用户输入的命令就像中央给上级领导的任务,然后上级领导给基层干部分配工作的过程就像Shell解释执行的过程,最后是由基层干部实际落实任务,就像Shell输出结果

应用层

应用层提供基于X Window协议的图形环境,X Window图形用户接口,是一种计算机软件系统和网络协议,提供了一个基础的图形用户界面(GUI)和丰富的输入设备能力联网计算机。要注意区分Windows和X Window

X Window 与微软的 Windows 图形环境有很大的区别:
Linux 系统与 X Window 没有必然捆绑的关系,也就是说,UNIX/Linux 可以安装 X Window,也可以不安装;而微软的 Windows 图形环境与内核捆绑密切。Linux 系统不依赖图形环境,依然可以通过命令行完成 100% 的功能,而且因为不使用图形环境还会节省大量的系统资源。

4.Linux的优点

提供大量免费的软件

Linux上有大量的免费软件,比如声名赫赫的 Apache、Samba、PHP、MySQL 等,所以Linux系统构建成本低廉,这也是许多企业采用Linux的原因。不过Linux 在办公应用和游戏娱乐方面的软件相比 Windows 系统还很匮乏,所以一般看小视频和打游戏都在Windows上。

良好的可移植性和灵活性

Linux的可移植性高,它几乎支持所有CPU平台,方便裁剪和定制,我们可以把Linux放在U盘、光盘等存储介质中,也可以在嵌入式领域有广泛应用。对于希望不进行安装就体验 Linux 系统的人,则可以在网上下载一个 Live DVD 版的 Linux 镜像,刻成光盘放入光驱或者用虚拟机软件直接载入镜像文件,设置 CMOS/BIOS 为光盘启动,系统就会自动载入光盘文件,启动进入 Linux 系统

优良的稳定性和安全性

Linux开放源代码,将源代码放在网上,有着千千万万的程序员在为Linux做维修改进,如果有什么漏洞很快就会被发现,所以就保证了Linux的稳定性和安全性。

几乎支持所有网络协议及开发语言

UNIX 系统是与 C 语言、TCP/IP 协议一同发展起来的,而 Linux 是 UNIX 的一种,C 语言又衍生出了现今主流的语言 PHP、Java、C++ 等,而哪一个网络协议与 TCP/IP 无关呢?所以,Linux 对网络协议和开发语言的支持很好。就是说,Linux、网络协议和开发语言这三家是世交,一起玩得很开心

转载地址:http://eawzi.baihongyu.com/

你可能感兴趣的文章
分析千万条数据后,终于找到了北上广深租金最低的地铁房
查看>>
dfrobot红外激光测距传感器的精度,测量距离和应用场景
查看>>
arduino扩展板引脚和连接图
查看>>
DFRduino Nano4.0介绍及原理图
查看>>
linux板级内存管理之-物理内存描述的两种实现方法
查看>>
App 调试的几个命令实践
查看>>
“独裁”的张小龙和他的微信帝国诞生记
查看>>
linux-arm中断系统之GIC
查看>>
Linux time subsystem 详解(1) ----概述
查看>>
大牛很通俗地介绍《信号与系统》
查看>>
执行程序(例如UltraEdit)在WIN7下添加到右键菜单
查看>>
flash and root your Nexus10
查看>>
深入学习Make命令和Makefile(上)(2)
查看>>
深入学习Make命令和Makefile(下)(2)
查看>>
示波器基础系列之四——关于示波器的触发功能(下篇)
查看>>
10大玄机为你揭开炒土豆丝爽脆的秘密——尖椒土豆丝
查看>>
grep与正则表达式
查看>>
git patch 使用
查看>>
如何进行Linux Kernel 开发
查看>>
技术人攻略访谈二十九:平行世界守护者
查看>>