ng>CTSS
MCP (Burroughs Large Systems)
1962年 GCOS
1964年 EXEC 8
OS/360 (宣称)
TOPS-10
1965年 Multics (宣称)
OS/360 (上市)
Tape Operating System (TOS)
1966年
DOS/360 (IBM)
MS/8
1967年 ACP (IBM)
CP/CMS
ITS
WAITS
1969年 TENEX
Unix
1970年 DOS/BATCH 11 (PDP-11)
1971年 OS/8
1972年 MFT (operating system)
MVT
RDOS
SVS
VM/CMS
1973年 Alto OS
RSX-11D
RT-11
VME
1974年 MVS (MVS/XA)
1975年 BS2000
1976年
CP/M
TOPS-20
1978年 Apple DOS 3.1 (苹果公司第一个操作系统)
TripOS
VMS
Lisp Machine (CADR)
1979年
POS
NLTSS
1980年 OS-9
QDOS
SOS
XDE (Tajo)
Xenix
1981年 MS-DOS
1982年 Commodore DOS
SunOS (1.0)
Ultrix
1983年
Lisa OS
Coherent
Novell NetWare
ProDOS
1984年
Macintosh OS (系统 1.0)
MSX-DOS
QNX
UniCOS
1985年 AmigaOS
Atari TOS
MIPS OS
Oberon operating system
Microsoft Windows 1.0 (Windows第一版)
1986年 AIX
GS-OS
HP-UX
1987年 Arthur
IRIX (SGI推出的第一个版本号是3.0)
Minix
OS/2 (1.0)
Microsoft Windows 2.0
1988年 A/UX (苹果电脑)
LynxOS
MVS/ESA
OS/400
1989年 NeXTSTEP (1.0)
RISC OS
SCO Unix (第三版)
1990年 Amiga OS 2.0
BeOS (v1)
OSF/1
Microsoft Windows 3.0
1991年 Linux
1992年 386BSD 0.1
Amiga OS 3.0
Solaris 2.0 (SunOS 4.x的继承者,以SVR4为基础,而非BSD)
Microsoft Windows 3.1
1993年 Plan 9 (第一版)
FreeBSD
NetBSD
Microsoft Windows NT 3.1 (第一版NT)
1995年
Digital UNIX (aka Tru64)
OpenBSD
OS/390
Microsoft Windows 95
1996年
Windows NT 4.0
1997年 Inferno
Mac OS 7.6 (第一版官方正式命名为Mac OS)
SkyOS
1998年 Solaris 7 (第一款64位元Solaris版本,是2.7舍弃主版本号的称谓)
Microsoft Windows 98
1999年
AROS
Mac OS 8
Microsoft Windows 98 Second Edition
2000年 AtheOS
Mac OS 9
MorphOS
Microsoft Windows 2000
Microsoft Windows Me
2001年 Amiga OS 4.0 (2001年5月)
Mac OS X 10.1
Microsoft Windows XP
z/OS
2002年 Microsoft Windows XP 64-bit Edition
Syllable
Mac OS X 10.2
2003年 Microsoft Windows Server 2003 (2003年3月28日)
Microsoft Windows XP 64-bit Edition - 以Microsoft Windows Server 2003为基础,同一天释出。
Mac OS X 10.3
2004年 Microsoft Windows XP Media Center Edition
2005年
Microsoft Windows XP Professional x64 Edition
Mac OS X 10.4
2006年
Microsoft Windows Vista
2007年 Mac OS X 10.5
功能 操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代观点而言,一个标准个人电脑的OS应该提供以下的功能:
进程管理(Processing management)
记忆空间管理(Memory management)
文件系统(File system)
网络通讯(Networking)
安全机制(Security)
使用者界面(User interface)
驱动程序(Device drivers)
进程管理不管是常驻程序或者应用程序,他们都以进程为标准执行单位。当年运用冯纽曼架构建造电脑时,每个中央处理器最多只能同时执行一个进程。早期的OS(例如DOS)也不允许任何程序打破这个限制,且DOS同时只有执行一个进程(虽然DOS自己宣称他们拥有终止并等待驻留(TSR)能力,可以部分且艰难地解决这问题)。现代的操作系统,即使只拥有一个CPU,也可以利用多进程(multitask)功能同时执行复数进程。进程管理指的是操作系统调整复数进程的功能。
由于大部分的电脑只包含一颗中央处理器,在单内核(Core)的情况下多进程只是简单迅速地切换各进程,让每个进程都能够执行,在多内核或多处理器的情况下,所有进程通过许多协同技术在各处理器或内核上转换。越多进程同时执行,每个进程能分配到的时间比率就越小。很多OS在遇到此问题时会出现诸如音效断续或鼠标跳格的情况(称做崩溃(Thrashing),一种OS只能不停执行自己的管理程序并耗尽系统资源的状态,其他使用者或硬件的程序皆无法执行)。进程管理通常实践了分时的概念,大部分的OS可以利用指定不同的特权等级(priority),为每个进程改变所占的分时比例。特权越高的进程,执行优先级越高,单位时间内占的比例也越高。交互式OS也提供某种程度的回馈机制,让直接与使用者交互的进程拥有较高的特权值。
除了进程管理之外,OS尚有担负起进程间通讯(IPC)、进程异常终止处理以及死结(Dead lock)侦测及处理等较为艰深的问题。
在进程之下尚有线程的问题,但是大部分的OS并不会处理线程所遭遇的问题,通常OS仅止于提供一组API让使用者自行操作或通过虚拟机器的管理机制控制线程之间的交互。
内存管理
根据帕金森定律:“你给程序再多内存,程序也会想尽办法耗光”,因此程序设计师通常希望系统给他无限量且无限快的内存。大部分的现代电脑内存架构都是阶层式的,最快且数量最少的寄存器为首,然后是高速缓存、内存以及最慢的磁盘储存设备。而OS的内存管理提供寻找可用的记忆空间、配置与释放记忆空间以及交换内存和低速储存设备的内含物……等功能。此类又被称做虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,既使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低执行效率的缺点,严重时甚至也会导致进程崩溃。
内存管理的另一个重点活动就是借由CPU的帮助来管理虚拟位置。如果同时有许多进程储存于记忆设备上,操作系统必须防止它们互相干扰对方的内存内容(除非通过某些协议在可控制的范围下操作,并限制可存取的内存范围)。分割内存空间可以达成目标。每个进程只会看到整个内存空间(从0到内存空间的最大上限)被配置给它自己(当然,有些位置被OS保留而禁止存取)。CPU事先存了几个表以比对虚拟位置与实际内存位置,这种方法称为分页(paging)配置。
借由对每个进程产生分开独立的位置空间,OS也可以轻易地一次释放某进程所占据的所有内存。如果这个进程不释放内存,OS可以退出进程并将内存自动释放。
磁盘与文件系统所谓的文件系统,通常指称管理磁盘数据的系统,可将数据以目录或文件的型式储存。每个文件系统都有自己的特殊格式与功能,例如日志管理或不需磁盘重整。
OS拥有许多种内置文件系统。例如Linux拥有非常广泛的内置文件系统,如ext2、ext3、ReiserFS、Reiser4、GFS、GFS2、OCFS、OCFS2、NILFS与Google文件系统。Linux也支持非本地文件系统,例如XFS、JFS、FAT家族与NTFS。另一方面,Windows能支持的文件系统只有FAT12、FAT16、FAT32与NTFS。NTFS系统是Windows上最可靠与最有效率的文件系统。其他的FAT家族都比NTFS老旧,且对于文件长度与分割磁盘能力都有很大限制,因此造成很多问题。而UNIX的文件系统多半是UFS,而UNIX中的一个分支Solaris最近则开始支持一种新式的ZFS
大部份上述的文件系统都有两种建置方法。系统可以以日志式(Journaling file system)或非日志式建置。日志式文件系统可以以较安全的手法执行系统回复。如果一个没有日志式建置的文件系统遇上突然的系统崩溃,导致数据建立在一半时停顿,则此系统需要特殊的文件系统检查工具才能撤消;日志式则可自动回复。微软的NTFS与Linux的ext3、reiserFS与JFS都是日志式文件系统。
每个文件系统都实作相似的目录/子目录架构,但在相似之下也有许多不同点。微软使用“\”符号以建立目录/子目录关系,且文件名称忽略其大小写差异;UNIX系统则是以“/”建立目录架构,且文件名称大小写有差异。
网络许多现代的OS都具备操作主流网络通讯协议TCP/IP的能力。也就是说这样的操作系统可以进入网络世界,并且与其他系统分享诸如文件、打印机与扫描器等资源。
许多OS也支持多个过去网络启蒙时代的各路网络通讯协议,例如IBM建立的SNA、DEC在它所生产的系统所设置的DECnet架构与微软为Windows制作的特殊通讯协议。还有许多为了特殊功能而研发的通讯协议,例如可以在网络上提供文件存取功能的NFS系统。现今大量用于影音流(Streaming media)及游戏消息传送的UDP协议等。
安全大多数OS都含有某种程度的信息安全机制。信息安全机制主要基于两大理念:
OS提供外界直接或间接存取数种资源的管道,例如本地端磁盘机的文件、受保护的特权系统调用(System call)、使用者的隐私数据与系统执行的程序所提供的服务。
OS有能力认证(Authorization)资源存取的请求。允许通过认证的请求并拒绝无法通过的非法请求,并将适当的权力授权(Authentication)给此请求。有些系统的认证机制仅简略地把资源分为特权或非特权,且每个请求都有独特的身份辨识号码,例如使用者名称。资源请求通常分成两大种类:
内部来源:通常是一个正在执行的程序发出的资源请求。在某些系统上,一个程序一旦可执行就可做任何事情(例如DOS时代的病毒),但通常OS会给程序一个识别代号,并且在此程序发出请求时,检查其代号与所需资源的存取权限关系。
外部来源:从非本地端电脑而来的资源请求,例如远程登入本机电脑或某些网络连接请求(FTP或HTTP)。为了识别这些外部请求,系统也许会对此请求提出认证要求。通常是请求输入使用者名称以及相对应的密码。系统有时也会应用诸如磁卡或生物识别数据的它种认证方法。在某些例子,例如网络通讯上,通常不需通过认证即可存取资源(例如匿名存取的FTP服务器或P2P服务)。
除了允许/拒绝形式的安全机制,一个高安全等级的系统也会提供记录选项,允许记录各种请求对资源存取的行为(例如“谁曾经读了这个文件?”)。
肇因于军方与商业组织将敏感数据记录在电脑上,安全机制在OS历史上是一个被长久关注与讨论的问题。美国国防部(DoD)便创立了《可信赖之计算机系统评鉴程序》(TCSEC),此手册确立了评鉴安全机制成效的基本原则。这对OS作者来说非常重要,因为TCSEC是用于评鉴、分类与选拔出用于处理、储存与获取敏感或机密数据的电脑系统的标准程序。
内部信息安全内部信息安全可视为防止正在执行的程序任意存取系统资源的手段。大多OS让普通程序可直接操作电脑的CPU,所以产生了一些问题,例如怎样把可如OS一样处理事务、执行同样特殊指令的程序强迫停止,毕竟在此情境下,OS也只是另一个平起平坐的程序。为通用OS所生产的CPU通常于硬件层级上实践了一定程度的特殊指令保护概念。通常特权层级较低的程序想要执行某些特殊指令时会被阻断,例如直接存取像是硬盘之类的外部设备。因此,程序必须得经由询问OS,让OS执行特殊指令来存取
验证码:
注册会员 会员登陆