热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2018年第三周计算机概论操作系统篇历史章节

后人总是站在前人的肩膀上远眺,人类才得以智慧和进步。我们(码农)写(复)的(制)业务代码,其实就是调用操作系统所提供的接口,来完成一定的需求。也或许连操作系统层面都没涉及到,仅仅是

后人总是站在前人的肩膀上远眺,人类才得以智慧和进步。

我们(码农)写(复)的(制)业务代码,其实就是调用操作系统所提供的接口,来完成一定的需求。也或许连操作系统层面都没涉及到,仅仅是虚拟机或数据库等中间件提供出来的接口。不管怎样,一天不去了解操作系统,一天就会对操作系统感觉很神秘,以为操作系统只有微软Windows,自己的工作区也只能在Windows下。题外话,我推荐使用deepin操作系统作为自己的工作环境,该系统确实很屌。

第一章 历史

早期的计算机不像现在的个人计算机一样普遍,他可不是一般人能够碰的起。架构还很难使用,除了指令周期并不快外(CPU慢),操作接口也很麻烦! 因为那个时候的输入设备只有卡片阅读器,输出设备只有打印机,用户也无法与操作系统互动(多道批处理操作系统)。

1960年

1960年代初期麻省理工学院(MIT)开发了分时操作系统(Compatible Time-Sharing System,CTSS),它可以让大型主机通过提供多个终端机(Terminal)以接入主机(最大30台),从而利用主机的资源进行运算工作。架构如下:
《2018年第三周-计算机概论-操作系统篇-历史章节》

1965年前后,由贝尔实验室(Bell)、麻省理工学院(MIT)及通用电气公司(GE)共同发起Multics的项目,目的让大型主机可以同时提供300台以上终端机使用。参考网站http://www.multicians.org/
1969年:Ken Thompson的小型File Server System,他是Multics项目的成员之一。因为自己需要(为了移植一款叫“太空旅游”的游戏),在妻儿探亲的4个星期内,他用汇编语言(Assembler)写出了一组内核程序,以及一个小的文件系统。该系统就是UNIX的原型。当时Thomepson将Multics庞大的系统简化不少,于是同实验室的朋友都戏称这个系统为Unics.

1970年

1973年:UNIX正式诞生,Ritchie等人以C语言写出第一个正式UNIX内核。
1977年:重要的UNIX分支——BSD诞生。此时AT&T公司对UNIX还是持较开放的态度。这样得以与学术界合作开发,最重要的接触就是与加州伯克利(Berkeley)大学的合作。BSD全称是Berkeley Software Distribution。
BSD是重要的分支,且由Bill Joy开发的,后面Bill Joy和Andy Bechtolsheim等人在1982年成立Sun公司。
1979年:重要的 System V架构与版权声明,在此之前UNIX只能运行在服务器(Server)或是大型工作站(Workstation)。AT&T推出System V第七版UNIX后,就开始支持x86架构的个人计算机。也是这时,AT&T将UNIX的版权收回去了,不可对学生提供源码。

1980年

1980年:基于8086微处理器而设计的单用户操作系统SCP86-DOS (Disk Operating System)
1981年:在微软获取操作系统SCP86-DOS的专利后,将其配备在IBM-PC机上。版本为MS-DOC1.0版,第一个实际应用的16位操作系统。
1983年:苹果公司推出lisa,Apple Lisa是全球首款同时采用图形用户界面(GUI)和鼠标的个人电脑,开发lisa是葱1978年开始,用时5年。Macintosh的前驱。 下图为Apple Lisa
《2018年第三周-计算机概论-操作系统篇-历史章节》

1984年:x86架构的Minix操作系统诞生,AndrewTanenbaum(谭宁邦)教授自己手写Minix用于教学。1986年完成,并于次年出版Minix相关书籍。这系统不是完成免费,而是需要通过购买磁盘/磁带才行,虽然不贵,但毕竟不在网上流行,且开发者只有谭宁邦教授,所以该系统就基本止于这。
1984年:GNU项目与FSF基金会成立,由Richard Mathew Stallman(史托曼)成立的。相当有名的程序是C语言编译器 GNU C Compiler,也就是传说中gcc。也就是说之前的C语言编译器都是收费的。当然GNU的项目多的是,如Emacs、GNU C Library(GLIBC)、Bash shell。但这些程序当时还只能运行在UNIX上,直到Linux的出现。
1984年:苹果推出麦金塔(Mac),系统是Macintosh OS (系统 1.0),广告1984。是第一款批量生成带用户界面的个人电脑,屏幕拥有对用户友好的图标。下图为Macintosh 128K
《2018年第三周-计算机概论-操作系统篇-历史章节》

1985年:微软的Windows 1.0发布,下图为Windows 1.01的截图
《2018年第三周-计算机概论-操作系统篇-历史章节》

1987年:微软发布MS-DOS 3.3版,是非常成熟可靠的DOS版本,微软取得个人操作系统的霸主地位
1988年:图形接口XFree86项目,有鉴于图形用户接口(Graphical User Interface,GUI)的需求。MIT与其他第三方成立了非营利性质的XFree86组织,XFree86是以下的缩写:X Window System + Free + 86

1990年

1991年:芬兰大学生Linus Torvalds在BBS上发布了他的内核程序,用bash,gcc写的内核程序,从其开始了Linux不平凡之路。原文:

Hello everybody out there using minix –

I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-)

Linus (torvalds@kruuna.helsinki.fi)

PS. Yes – it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.

— Linus Torvalds

参考:
《鸟哥的Linux私房菜 基础学习篇第三版》
《操作系统》百度百科http://baike.baidu.com/item/%…
《Apple Lisa》wikipedia https://en.wikipedia.org/wiki…

附录
百度百科拿过来的一张操作系统发展历史,我没具体去考究,可以看出操作系统,真是五花八门。

年份系统名称
1956年GM-NAA I/O
1959年SHARE Operating System
1960年IBSYS
1961年CTSSMCP (Burroughs Large Systems)
1962年GCOS
1964年EXEC 8OS/360 (宣称)TOPS-10
1965年Multics (宣称)OS/360 (上市)Tape Operating System (TOS)
1966年DOS/360 (IBM)MS/8
1967年ACP (IBM)CP/CMSITSWAITS
1969年TENEXUnix
1970年DOS/BATCH 11 (PDP-11)
1971年OS/8
1972年MFT (operating system)MVTRDOSSVSVM/CMS
1973年Alto OSRSX-11DRT-11VME
1974年MVS (MVS/XA)
1975年BS2000
1976年CP/MTOPS-20
1978年Apple DOS 3.1TripOSVMSLisp Machine (CADR)
1979年POSNLTSS
1980年OS-9QDOSSOSXDE (Tajo)Xenix
1981年MS-DOS
1982年Commodore DOSSunOS (1.0)Ultrix
1983年Lisa OSCoherentNovell NetWareProDOS
1984年Macintosh OS (系统 1.0)MSX-DOSQNXUniCOS
1985年AmigaOSAtari TOSMIPS OSOberon operating systemMicrosoft Windows 1.0
1986年AⅨGS-OSHP-UX
1987年ArthurIRⅨMinixOS/2 (1.0)Microsoft Windows 2.0
1988年A/UX (苹果电脑)LynxOSMVS/ESAOS/400
1989年1989年NeXTSTEP (1.0)RISC OSSCO Unix (第三版)
1990年Amiga OS 2.0BeOS (v1)OSF/1Microsoft Windows 3.0
1991年SunOS 4.1.xLinux
1992年386BSD 0.1Amiga OS 3.0Solaris 2.0Microsoft Windows 3.1
1993年Solaris 2.1Solaris 2.2Solaris 2.3Plan 9FreeBSDNetBSDMicrosoft Windows NT 3.1
1994年Solaris 2.4
1995年Solaris 2.5Digital UNⅨOpenBSDOS/390Microsoft Windows 95
1996年Microsoft Windows95 OSR2(OSR=OEMServicerelease)Microsoft Windows NT 4.0
1997年Solaris 2.6InfernoMac OS 7.6SkyOS
1998年Solaris 7Microsoft Windows 98
1999年AROSMac OS 8Microsoft Windows 98 Second Edition
2000年Solaris 8AtheOSMac OS 9MorphOSMicrosoft Windows 2000Microsoft Windows MeMac OS X Public Beta
2001年Mac OS X v10.0 CheetahAmiga OS 4.0Mac OS X v10.1 PumaMicrosoft Windows XPz/OS
2002年Solaris 9 for SPARCMicrosoft Windows XP 64-bit EditionWindows XP Tablet PC EditionWindows XP Media Center EditionSyllableMac OS X v10.2 Jaguar(美洲虎)(2002年8月23日)
2003年Solaris 9 for x86Microsoft Windows Server 2003 (2003年3月28日)Microsoft Windows XP 64-bit Edition – 以Microsoft Windows Server 2003为基础,同一天释出。Mac OS X v10.3 Panther(黑豹)(2003年10月24日)
2004年Microsoft Windows XP Media Center Edition
2005年Solaris 10Microsoft Windows XP Professional x64 EditionMac OS X v10.4 Tiger(老虎)(2005年4月29日)
2006年Microsoft Windows Vista
2007年Mac OS X v10.5 Leopard(美洲豹)(2007年10月26日)
2008年Ubuntu 8.04 LTSOpenSolaris 08/05Ubuntu 8.10OpenSolaris 08/11Windows Server 2008
2009年Ubuntu 9.04Mac OS X v10.6 Snow Leopard (雪豹)(2009年8月28日)Windows 7Ubuntu 9.10Chrome OS
2010年ubuntu 10.04ubuntu 10.10
2011年Mac OS X v10.7Lion(2011年7月20日)Ubuntu 11.10
2012年OS X Mountain Lion(Apple已将Mac OS X更名为OS X)Ubuntu 12.04[3] Windows 8
2013年OS X MavericksWindows8.1
2014年OS X Yosemite

推荐阅读
  • 西北工业大学作为陕西省三所985和211高校之一,虽然在农业和林业领域不如某些顶尖院校,但在航空航天领域的实力尤为突出。该校的计算机科学专业在科研和教学方面也具有显著优势,是考研的理想选择。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 进程(Process)是指计算机中程序对特定数据集的一次运行活动,是系统资源分配与调度的核心单元,构成了操作系统架构的基础。在早期以进程为中心的计算机体系结构中,进程被视为程序的执行实例,其状态和控制信息通过任务描述符(task_struct)进行管理和维护。本文将深入探讨进程的概念及其关键数据结构task_struct,解析其在操作系统中的作用和实现机制。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • HTTP请求与响应机制:基础概览
    在Web浏览过程中,HTTP协议通过请求和响应报文实现客户端与服务器之间的通信。当用户访问一个网页时,浏览器会发送一个HTTP请求报文至服务器,服务器接收到请求后,会生成并返回一个HTTP响应报文。这两种报文均包含三个主要部分:起始行、头部字段和消息体,确保了数据的有效传输和解析。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 本文深入解析了 Apache 配置文件 `httpd.conf` 和 `.htaccess` 的优化方法,探讨了如何通过合理配置提升服务器性能和安全性。文章详细介绍了这两个文件的关键参数及其作用,并提供了实际应用中的最佳实践,帮助读者更好地理解和运用 Apache 配置。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • 如何使用Python高效绘制矩形图形
    本文详细介绍了如何利用Python的Turtle库高效绘制矩形图形,适合初学者快速上手。通过具体示例代码,帮助读者理解Turtle库的基本绘图方法和技巧,同时探讨了在不同应用场景中绘制矩形的实际操作,为后续复杂图形的绘制打下坚实基础。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
author-avatar
无视一个水阿哥_470
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有