Linux操作系统的发展

article/2025/9/24 17:12:14

一、计算机的发展历程

1.计算机的起源

在开始讲解计算机的历史前,我们需要认识到人和动物最大的区别在于人是会使用工具的。从饮血茹毛到使用火烧熟食物,工具的使用给对于人类发展的作用是巨大的。同样,计算机也是工具,为我们的生活带来便利。

那么这样强大的工具是怎么来的呢?

计算机的诞生跟二战有着莫大的关系。二战结束后,美苏冷战开始,军备竞赛愈演愈烈,任何一方都不想落后于对方。

为了研制新型武器,美国陆军军械部设立了弹道研究实验室。为了解决每天面临的大量弹道计算问题,此时就催生了计算机的研发项目。

最终,世界上第一台通用计算机“ENIAC”于1946年2月14日在美国宾夕法尼亚大学诞生。发明人是美国人莫克利和艾克特。d7c089da81ce4b13ae313ced736dfeaf.png

 第一代计算机十分巨大笨拙,只能通过机器指令、汇编语言进行编程,整个过程异常复杂。此时,这类计算机只能应用于军方和大学教育中,使用的场景十分有限。

政府通过给大学提供资金来帮助军方研发新技术,而政府通过把专利售卖给商业公司和专利税收保证财富的回流。逐渐的,计算机也成为了专利技术,而这一技术也逐步褪去高大上的外表走向民用。

正因为计算机技术的商业化,诞生了一批想IBM、苹果、微软这样的公司。这些大公司也开始研发自己的企业级计算机来使用和售卖,但是当时的计算机还是又贵又难用,普及到寻常百姓的手中年代还很远。所以这时计算机的交易对象还只是其他公司。

2.苹果公司与图形化界面的由来

这个时期我们的电脑就是一个黑屏幕,等待你输入指令。肯定也是没有现在的桌面和图标的,对于普通人直接劝退。

但是苹果公司做出了改变,这里面还有个小故事。

在当时,有一家公司叫施乐,是做打印机的,但是他们有一个实验室是专门做图形化的界面。73bd5bab734544c79b3307bfd453d603.png 

这家公司对自己的图形化界面很有信心,就邀请乔布斯去施乐公司参观这个实验室,因为施乐是主营打印机,所以也没有认为图形化界面将会对后面的计算机产生有多大的改变。正是这一次的偶然相遇让乔布斯意识到图形化界面的重要性,他参观时虽然脸上毫无波澜,但参观完毕后立刻要求技术团队研究计算机的图形化页面。

然后就推出了第一款电脑mac。图形化计算机的诞生,不光让苹果公司赚的盆满钵满,也大大降低了使用计算机的门槛。不过这时的计算机依旧十多昂贵,在当年这样一台电脑可以卖到几万美元,大部分人还是买不起的。

739e24b7a6984493847e27924797f075.png

3.微软公司和计算机的大众化

这个时候,比尔盖茨也发现了图形化界面的广阔市场,微软就也组建了自己的图形化界面团队。

但是与苹果公司不同,微软是专精做软件的,我们熟悉的Windows系统就是微软公司的作品。但是微软对于硬件设备的开发没有经验,所以,当时微软也找到了IBM公司说了自己想法,但是理念不合就没有一起合作。而且在公司中有很大一批人反对挪用资金来开发图形化界面。因为在当时都是企业级计算机,没有人会认为以后计算机可以摆在每一个人的面前。

尽管处处碰壁,比尔盖茨还是依然坚信图形化界面的未来,于是找到了Intel(英特尔)公司。intel主要开发硬件方面,而微软就开发软件。他们创造出的电脑相对于苹果来说是更加便宜的,而且也并不比苹果电脑差。

0d4a95d21ca54bb085ec53c9b7ed9eae.png

这个时候就出现做电脑热潮。华硕,Dell,宏碁,联想,小米这些公司也诞生了。由于微软和英特尔的研究,所以后来的电脑搭载的CPU都是intel,操作系统都是Windows。这两家公司也就可以说垄断了计算机硬件与操作系统。

二、操作系统的发展历程

1.unix操作系统

我们知道操作系统是非常重要的,计算机没有操作系统就甚至都没有能力开机,更不要说进行各种操作了。

那么这个操作系统是怎么诞生的呢?

美国有一个大佬,肯.汤姆森。他通过汇编语言编写第一个unix操作系统,这个操作系统就被别人拿去使用。好巧不巧,C语言之父丹尼斯.里奇与肯.汤姆是好朋友。他们两个人又重新用C语言改写了unix操作系统,然后并捐赠给了各大有资格的高校,或者自己购买计算机加unix操作系统进行学术研究。

aa1d1f2c778149b1a720b74ca10f5a66.png 

 左肯汤姆森和中丹尼斯里奇

2.linux操作系统

unix操作系统的计算机被输送到世界各地的大学中,此时发生了一件平常而又不平常的事情。

芬兰的赫尔辛基大学迎来一位非常有才的学生,名字叫林纳斯·托瓦兹。这个大佬试用了一台搭载着unix操作系统的计算机,但因为版权保护,使用unix操作系统需要缴纳费用。会他觉得这个收费比较贵的,然后他突发奇想,想写一款免费的操作系统,于是他仿造unix交互模式就编写了linux操作系统。也为了让更多人学习和了解计算机,于是将这款操作系统源代码公诸于世。(我愿称之为白嫖的最高境界)

429a7b99389c49a8b2ba2c3012b7bace.png

3.开源和闭源

现在的博客一般就是开源,直接向大家展示源代码,还有Gitee也是以开源的形式展开。

那么开源和闭源谁更胜一筹呢?

自我感觉开源更好,因为在我们写代码如果有问题被更多人看见,那么他会指出问题,我们也好加以改正。开源的形式,谁的代码出了问题也就一目了然了。所以开源他的代码稳定性,安全性更好和它的效率更高。

我们可能无法理解为什么会有人免费为别人写代码。毕竟,很多大佬们一方面根本就对钱没有兴趣;另一方面,人家格局也确实比咱们大。我们普通人为挣钱写代码也无可厚非。

fe39eb8835f34a65a92e50de98ced4b3.png

linux社区现在也依旧在更新linuxf代码,在下面的网址就可以完全下载到linux的源码,但是还是不建议大家去看:https://www.kernel.org

4.发行版本

Debian

Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用 户,而是适合系统管理员和高级用户。

Ubuntu

Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的 应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定 爱不释手的一款操作系统。

红帽企业级Linux

这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进 行培训和认证。

CentOS

CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构 版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领 略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红 帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。

Fedora

小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽 公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常 好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。

Kali Linux

Kali Linux Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所 有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用 户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计 成立马可以使用。Kali使用APT来管理软件包。

毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系 统。

三、linux操作系统的安装

1.双系统

在一般情况下,是严重不推荐安装双系统的。

缺点:

1.双启动是安全的,但会大大减少磁盘空间

2.双启动可能导致数据/操作系统意外覆盖

3.双启动时可能会暴露驱动程序Bug

4. 双启动会影响磁盘交换空间

5.双启动会影响磁盘和 PC 性能

2.虚拟机

在大多数情况,我们上学老师们推荐的是虚拟机wmware。其中很大一部分原因就是免费。但是在这里也不是很推荐。

优点:

1、快速实现分布式部署,并且随时增减。

2、自助升级配置,增加IP,带宽等功能,升级过程无需停机。

3、可以自助软/硬重启,一键配置FTP、IIS等。

4、实时查看资源、流量、进程、服务的运行状态。

5、完全拥有主机的Administrator或Root权限,可以个性化配置系统,自由安装应用软件和程序,部署各种互联网应用。

缺点:

1、独立硬件资源较差。

2、对软件支持较差。

3、硬盘读写速度巨慢。

3.云服务器

使用云服务器就极大弥补了虚拟机的缺点,但是唯一的缺点就是需要钱购买云服务器。

我选择的也是腾讯云服务等云服务器,镜像是CentOS,链接工具选择的是xshell。

 


http://chatgpt.dhexx.cn/article/RA9plfGb.shtml

相关文章

Linux操作系统介绍

##一. 什么是Linux? ## 1.什么是Linux: Linux是一款广泛应用在服务器上的操作系统。 2.什么是操作系统: 操作系统是硬件基础上的第一层软件, 应用软件都需要安装到操作系统上使用。 3.Linux的特点: 安全免费开源稳定…

Linux操作系统学习

目录 一、操作系统 1、什么是操作系统(OS)? 2、常见的操作系统 二、Linux系统的介绍 1、Linux操作系统的特点 2、Linux发展历程 3、Linux内核及发行版本 3.1 Linux内核版本(kernel) 3.2 Linux发行版本 三、L…

【Linux】操作系统及进程概念

大家好我是沐曦希💕 文章目录 一、冯诺依曼体系结构二、操作系统OS三、系统调用和库函数概念四、进程1.概念2.描述进程-PCB3.查看进程4.查看系统调用5.查看进程调用6. 通过系统调用创建进程-fork初识 一、冯诺依曼体系结构 我们常见的计算机,如笔记本。…

Linux操作系统——基础详解

目录 Linux操作系统 Linux 简介 Linux 接口 Linux 组成部分 Shell Linux 应用程序 Linux 内核结构 Linux 进程和线程 基本概念 Linux 进程间通信 Linux 中进程管理系统调用 Linux 进程和线程的实现 Linux 调度 Linux 启动 Linux 内存管理 基本概念 Linux 内存…

Linux(一)操作系统基础知识

Linux操作系统基础知识 1、Linux简介与程序开发环境 1.1 什么是Linux? Linux是一个可以自由发布的类UNIX内核实现,它是一个操作系统的底层核心。Linux是由芬兰赫尔辛基大学的Linus开发,期间得到了网上广大UNIX程序员的帮助。它最初是受其教…

【Linux操作系统】——Linux概述

Linux操作系统——Linux概述 1、操作系统OS 定义:操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序。 作用:是把计算机系统中对硬件设备的操作封装起来,供应用软件调用,也是提供一个让用户与…

Linux操作系统(详解及配置操作)

Linux操作系统 重点:linux的安装 linux的常用指令 linux的网络配置 shell编程 难点:linux的磁盘分区 linux的shell编程 linux日志 1 linux基础篇 1.1 linux的基本概述 1.1.1 linux的由来 ​ linux是一个开源、免费的操作系统,其稳定性、安…

Linux操作系统简介

文章目录 Linux发行版简介学习Linux的必备硬件知识 关键硬件器件——CPU关键硬件器件——存储关键硬件器件——内存其他一些查看硬件信息的命令 Linux开机过程(以Ubuntu16.04为例) 阶段1:BIOS阶段2:boot Loader阶段3:k…

Power Query 系列 (13) - 自定义函数

本篇博客介绍 Power Query 自定义函数的技巧,在 PQ 中计算个税。 以工资类所得应交个税为例,最新的个税起征点为 5000 并按下表的级次进行缴税(假设没有其它扣除项)。 对照税率表,我们先看看手工如何计算。比如 xxx…

MySQL—自定义函数

函数 本文是在 navicat 中演示如何创建 自定义函数 ,建议先去看有关的书籍了解一下。我之前分享过一篇 《MySQL 8》的资料 可以参考一下。因为是 navicat 是客户端工具,所以他会给我们省去一些操作,比如 ; 的转义; 参…

【MySQL 第十天 自定义函数|创建和使用自定义函数|循环判断语句的使用】

【MySQL 第十天 自定义函数|创建和使用自定义函数|循环判断语句的使用】 【1】mysql自定义函数的介绍【2】mysql创建和使用自定义函数【3】mysql删除自定义函数【4】mysql流控的使用【4.1】mysql流程控制语句【4.2】mysql IF语句【4.3】mysql CASE语句【4.4】mysql WHILE循环语…

SQL Function 自定义函数

目录 产生背景(已经有了存储过程,为什么还要使用自定义函数) 发展历史 构成 使用方法 适用范围 注意事项 疑问 内容 产生背景(已经有了存储过程,为什么还要使用自定义函数) 与存储过程的区别&…

【精品】MySQL 自定义函数

语法 CREATE FUNCTION <函数名>(参数列表) RETURNS <返回值数据类型> BEGINRETURN(<SQL语句>); END示例一&#xff1a;生成随机的电话号码 CREATE FUNCTION generatePhone() RETURNS char(11) CHARSET utf8 DETERMINISTIC BEGINDECLARE head VARCHAR(100)…

sql:mysql:自定义函数

一、基本语法 delimiter 自定义符号  -- 如果函数体只有一条语句, begin和end可以省略, 同时delimiter也可以省略create function 函数名(形参列表) returns 返回类型  -- 注意是retrunsbegin函数体    -- 函数内定义的变量如&#xff1a;set x 1; 变量x为全局变量&am…

mysql之自定义函数

本文内容&#xff1a; 什么是函数函数的创建函数的调用函数的查看函数的修改函数的删除 首发日期&#xff1a;2018-04-18 什么是函数&#xff1a; 函数存储着一系列sql语句&#xff0c;调用函数就是一次性执行这些语句。所以函数可以降低语句重复。【但注意的是函数注重返回值&…

SQL Server 自定义函数(Function)

SQL Server 自定义函数&#xff08;Function&#xff09;——参数默认值 sql server 自定义函数分为三种类型&#xff1a;标量函数&#xff08;Scalar Function&#xff09;、内嵌表值函数&#xff08;Inline Function&#xff09;、多声明表值函数&#xff08;Multi-Statemen…

mysql自定义函数实现

mysql自定义函数实现 环境准备 查看mysql版本 select version();查看mysql存储引擎 show variables like %storage_engine%;创建测试表 CREATE TABLE dsp_user_media_tag (id int(11) NOT NULL AUTO_INCREMENT,imei varchar(50) COLLATE utf8_bin DEFAULT NULL,tagname va…

MySQL自定义函数用法详解

MySQL自定义函数用法详解-复合结构自定义变量/流程控制 自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有&#xff08;内建&#xff09;函数一样作用的新函数去扩展MySQL。 所以UDF是对MySQL功能的一个扩展 创建和删除自定义函数语法: 创建UDF:…

SQL server 自定义函数FUNCTION的使用

前言&#xff1a; 在SQL server中不仅可以可以使用系统自带的函数&#xff08;时间函数、聚合函数、字符串函数等等&#xff09;&#xff0c;还可以根据需要自定义函数。 一、定义&#xff1a; 用户自定义函数的类型&#xff1a; 1、标量值函数&#xff08;返回一个标量值&a…

功能测试用例设计方法分享

测试用例可以用来衡量一个项目测试质量&#xff0c;因此在平时的测试流程中&#xff0c;编写测试用例就是测试过程中很重要的一步&#xff0c;每一个测试工程师都需要并且非常熟练的编写测试用例&#xff0c;能在编写测试用例中尽可能的覆盖任何异常的测试点&#xff1b;如何能…