浅谈操作系统发展史

一.计算机的基本组成

1)CPU:运算器、控制器、寄存器、缓存等组成

早期采用Poll轮询机制,每隔一定时间询问设备,浪费cpu资源

后来采用Interput中断机制,硬件通知机制,外围设备通过不断中断来和CPU核心设备交互,但中断过多会导致系统性能下降,如网卡访问量过大

运算器、控制器:核心部件

寄存器、缓存:加速部件,为了提高CPU的性能

2)存储器:内存,RAM(Random Access Memory)是编址单元

3)Input:下指令,提供数据等;

4)Output:输出数据加工的结果;

5)主板

北桥:高速总线控制器,,一般接CPU和内存

南桥:I/O设备控制

二.操作系统发展史

àENTARC:第一台计算机

à批处理系统:job1$$$$job2$$$$jiob3$$$$......

à多任务:multi tasks

--->Bell,MIT,GE三个组织=Multics

--->贝尔实验室的ken
Thompson --->在PDP-7上开发

DEC:PDP-11,VAX(VMS)流行,贵 
--->Ken在PDP-7上开发

--->1969:Unics对立  = Unix  --->Unix:1971.norff

--->1972 Bell实验室有十台使用unix

--->B语言-Dennis
Ritch-C语言 ,两人用c语言改写了unix

从汇编到c可移植性增强,但是在当时的计算机性能差方面问题冒险

--->联合发表在《美国计算机通信》:1974年,第一次公之于众

--->1979年:System V7 比较流行

--->1978年,SCO包装发行unix

--->1988: Microsoft ,XENIX

--->Berkrlry :Ken 任教伯克利大学

Bill Joy.组织BSRG。1977年发布BSD(Berkrlry System
Distribution)

--->1980年,DARPA,在BSD系列的unix上研究tcp/ip

--->在版权官司十年unix逐渐落末

à1981.Microsoft,Bill Gates

SCP :QDOS(Quick and Dirty Operating System)

DOS 2.0,性能价格比CP/M更好

Windows(支持图形化)

windows nt(new technology)

1990.一直在unix上编写DOS

àSUN公司:Bill Joy   workstation工作站

àApple:XEROX施乐公司: PARK实验室(star产品:图像化界面)

---->Bill Gates"盗窃"后开发出最早的windows

à1985:Richard Stallman

GUN: GUN is Not
Unix

GLP:General Public License

FSF:Free Software Foundation    free:freedom自由的

软件方面:X-Window: GPL

gcc: gnu c complier

vi: visual interface

... ...

àAndrew: Minix,早起4000+行代码

System V Unix  <---> BSD

--->1990:BSD  --->Jolitz 将BSD移植到x86

à1991年8月:Linux Torvalds宣布成立Linux;准守GPL协定

--->基于Larry Wall作者 diff编写补丁和patch打补丁工具运用,协同开发

à完整的OS:Kernel+Application  -> GUN/Linux

狭义的OS:Kernel

三.操作系统在硬件上的实现

1. Syscall系统调用接口(硬件上内核层接口)

2. libcall库调用(将通用功能在系统接口再封装成模块方便统一功能调用)

3. API:Application Program Interface 程序员面对的编程接口

POSIX:Portable Operating System
Interface可移植操作系统接口

ABI:Application
Binary Interface 程序员应用者面对运行程序的二进制接口

编程接口兼容不等于二进制接口兼容

四.Linux操作系统基础

1. Linux OS的两类接口:

GUI:Graphic User
Interface图形用户界面

实现:GNome:c, gtk

KDE: c++, qt

XFACE:简洁,适用于嵌入式终端的桌面系统

CLI:Command Line
Interface命令行界面

实现:bash、zsh、sh、csh、tcsh、ksh

2.基本原则:

由目的单一的小程序组成,组合小程序完成复杂任务

一切皆文件

尽量避免捕获用户接口(交互)

配置文件保存为纯文本格式

3.常见的Linux发行版

1) RedHat:中国和美洲流行

Redhat 9.0个人版2003年停止更新àFedora Core:6个月更新一次

RedHat Enterprise Linux: RHEL

à社区版CentOS: Community ENTerprise OS

2) Slackware

SuSE(商业、开源两种)--->欧洲流行

SLES:商业版

OpenSuSE 桌面华丽著称,开源

3) Debian:现在唯一一个全社区版,无商业公司支持,使用难度复杂

Ubuntu :基于Debian的二次发行桌面

mint

knopix 安全著称

4) Gentoo

5) ArchLinux

4. 软件程序:版本号:major.minor.release

Linux:0.99, 2.2,
2.4, 2.6, 3.0, 4.0  www.kernel.org

发行版本也有自己的版本号:

RHEL: 5.x, 6.x, 7.x

Fedora 23

Debian:8.x

OpenSuSE: 13.x

时间: 2024-12-25 19:21:55

浅谈操作系统发展史的相关文章

浅谈操作系统之进程管理

详解本文前,先来说说什么是操作系统吧,要不,大家可能都不知道自己在看些什么.下图,可以非常形象的表示操作系统及它的相关内容.本文主要详细介绍一下操作系统的进程管理功能. 上图可以看出,操作系统是位于计算机硬件和应用软件之间的,有效组织和管理系统中各种软.硬件资源.它通过资源管理,提高了计算机系统的效率:也改善了人机界面,不需要我们直接面对简单且复杂的0和1了,向用户提供了友好的工作环境.下面来细说说进程管理吧. 首先,我们需要了解,什么是进程,与其相关的,什么又是线程?进程,可以认为它就是程序的

浅谈操作系统与内存

浅谈操作系统与内存 对于计算机的发明,相信大家都有耳闻那个占地面积按平米算的第一台计算机.在那个时候,CPU的资源是极其珍贵的,随着这些年突飞猛进的发展,一片指甲盖大小的民用级CPU一秒钟能执行的指令数可以达到上亿级别. 随着计算能力的增长,芯片外围的硬件和配套的软件也是一路高歌,发生了天翻地覆的变化,今天我们简单回顾历史,来看一看操作系统和内存机制的演变,不仅要了解它们是怎样,同时也看看它们为什么会是这样. CPU的运行 一说到CPU(Center processing unit),大家都觉得

浅谈 操作系统原理

注 :  文中讲述的原理是推理和探讨 , 和现实中的实现不一定完全相同 . 操作系统 , 主要分为 5 个部分 : 1 进程调度 2 虚拟内存 3 文件系统 4 网络通信 5 设备驱动 进程调度 , 原文地址:https://www.cnblogs.com/KSongKing/p/9495999.html

浅谈新一代Android操作系统Android L

今天早一些的时候,Google发布了新一代Android操作系统Android L.让我非常意外的是命名规则的变化,之前外界纷纷猜测会叫Android5.0,同时会给一个甜品的名字命名.因为Android操作系统发布了这么多的正式版本,一直是用甜品来命名的,现在直接用了一个L,和以往风格大大不同,让人不太理解.不过好在L非常好记,也非常容易上口. 看了一下官方宣称的Android L的新特性,主要有如下几点: A New UI Design Create a consistent experie

[nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)

蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体温计.耳温枪.皮肤水分计等), 再到智能家居等领域均占有一席之地. 而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议. 随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后春笋般在市场上铺开. 如果想 紧跟蓝牙协议的最新动态 ,可以在https://www.b

浅谈数据库系统中的cache(转)

http://www.cnblogs.com/benshan/archive/2013/05/26/3099719.html 浅谈数据库系统中的cache(转) Cache和Buffer是两个不同的概念,简单的说,Cache是加速"读",而buffer是缓冲"写",前者解决读的问题,保存从磁盘上读出 的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据.在很多情况下,这两个名词并没有严格区分,常常把读写混合类型称为buffer cache,本文后续的论述中,统一

浅谈C中的malloc和free

在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了.当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以 写下这篇文章作为一个对知识的总结.这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助! 如果不扯得太远的话(比如说操作系统中虚拟内存和物理内存如何运做如何管理之类的知识等),我感觉这篇文章应该是比较

版本管理和项目管理软件浅谈

版本管理和项目管理软件浅谈 项目管理软件 Trac vs Redmine 关于Trac,之前想为计组实验平台搭建Wiki的时候作为“备胎”所了解过,而与当时功能与其相似,看起来更有竞争力的产品——Redmine相比而言我更加看好Trac,因为Redmine有一些严重的缺点: 安装非常麻烦.在实际的生产环境中,Redmine在Debian\Ubuntu系统下没法稳定运作.Redmine的依赖是固定的,所以一些新的版本库可能没法工作.而且必须自己在apt-get中配置更新源,否则很容易错将某些依赖升

浅谈城市规划在移动GIS方面的应用发展

1.概述 城市建设进程加快,城市规划管理工作日趋繁重,各种来源的数据产生各种层出不穷的问题,严重影响城市规划时的准确性,为此全面合理的掌握好各方面的城市规划资料才能做出更加科学的决策.移动端的兴起为规划动态方面提供了极大的便利,各类以无线终端.智能设备.网络通信和移动GIS核心技术的深入发展,可以为规划人员和决策者提供在线离线.定位实时.现状历史等方面分析服务,从而提高城乡规划工作效率. 2.移动GIS技术选型 从目前移动设备发展的情况来看,有Apple.三星.国内手机产品.平板:从操作系统上看