对操作系统的研究已经很久了,一直以来比较喜欢这方面的东西,从现在开始,我要把我所了解的OS的各个方面一一描述出来。基本的描述风格事先抽象后具体,先轮廓后细节。
OS其实是一个大家都知道一些的概念。但是我说得有可能跟传统的说法有些不一样,我按照我的思路和节奏说这些问题。希望大家多提意见。
说到OS,一定要先从冯诺依曼抽象机器说起。冯诺依曼机器是图灵机器加上程序存贮这个特性形成的。冯氏机器本身也像图氏机器一样,并没有规定IO,但是根据系统论的基本原理,我们知道一个系统如果是封闭的,那么就是不可知的,没有什么价值的,所以,现代的计算机都配备有大量的IO部件。不过虽然IO部件非常之多,但是由于我们的抽象机器是冯诺依曼机器,所以,我们研究OS的时候并不分多少精力给IO。当然,我也会讲到IO的。
有了计算和存储这两类基本的部件,我们的计算机系统基本上就算是有了基础了,冯氏机器的存储程序特性这时候就要大放光彩了!计算机相较之以前的其他机械,最显著和诱人的特性就在这儿体现——程序存储。以前的机械都是死的,固定的特性,而自从引入程序存储,计算机这个机械就开始越过了龙门,升入九天了。
我粗略的说说程序存储吧。程序就是一堆指令,这些指令可以指导计算机的运算部件干活,它们会被放到计算机的存储部件中。同一个计算机,给它不同的程序,它就会表现出不同的特性。
有了冯诺依曼机器,我们就可以设计我们的程序,让计算机实现它存在的价值了,不过且慢,这里面有一些问题需要解决。
语义鸿沟。
对于我们的问题,我们可以用人类语言描述之,甚至可以描述得很清楚,可是计算机并不懂得我们描述问题所用的语言。在计算机看来,问题很简单,所有的问题不外是加减乘除逻辑运算等。这里有一个巨大的鸿沟。
复杂性问题。
这个前面的语义鸿沟有点关系,如果我们直接管理和控制冯诺依曼机器让它干我们希望它干的活,就会出现复杂性问题。这个问题会让人抓狂的。因为心理学家研究发现,一个人同时可以关注的事情是有限的。
好,有了上面的东西垫底,我们可以讨论问题了。
按照习惯,先明确几个必要的概念。:)
没有提到的概念要么大家都很清楚,要么可以查我原来的blog。
接口:一个系统跟外界交互的通道,接口定义一套语言。通过这套语言可以跟接口后面的系统交互。
语言:一套表意的体系结构,它可以而且必须用一定的方式承载,不同的系统提供不同的语言机制。举个简单的例子:杠杆的语言是:你用力往下压(告诉它一个信息),它帮你把某物撬起来。当然,杠杆很简单了,一般来说,越复杂的系统的语言符号越丰富,表达的方式也越多样化(不仅仅是简单的机械力,可能是电磁波,声波……什么的)。对于人这个极端复杂的系统,语言就是我们常说的人类语言了。它(人类语言)的体系恢宏壮丽,词汇、语法、惯用法、……无穷无尽的范畴。它的表达方式是声音,图形(印刷在纸上的文字),……也是多种多样的。一般我们跟计算机交互的时候都是采用的语言都隐喻成人类语言的:)。计算机的语言通道(也就是接口)有输入和输出两大类,其中,输入是我们对计算机的控制,输出是计算机对我们的回馈。抽象的计算机,输入和输出都是电信号,也就是电子的流,所以叫做电子计算机:)。
前面说了,冯诺依曼计算机面对的问题就是可计算性问题,简单而不精确地说,就是算术和逻辑运算问题。所以,它的语言(也就是他的接口可以理解的交流方式)也是比较简单的,主要就是算术和逻辑运算以及一些控制计算机本身的电子信号序列。由于我们人类很难通过这种手段直接跟计算机交互(你能发出0.0032v 的电流0.00002ms么?),所以我们一般给计算机配上各种输入输出的适配器,比如:键盘,鼠标,显示器,打印机,扫描仪……。其实,他们很多也都是经过别的适配器一层一层的适配到计算机主体上的。
就算我们有了IO适配器,我们也不想这样跟计算机交互,想想我前面描述的两个问题,语义鸿沟问题和复杂性问题。所以我们需要一个中间层次,我们通过这个中间层次所能理解的语言跟中间层次交互,而这个中间层次把我们的意图翻译成计算机所能理解的语言(也就是算术逻辑和控制)。这样,就给我们提供了一个更友好,更丰富的系统。
这个中间层次叫做OS。其实,可能会有很多别的东西,但是我这儿的焦点是OS,所以就说它了。
我们仍然从OS的接口开始看起,搞定它的基本概念。
OS主要向上层提供一个虚拟的机器,这个机器主要涉及到文件和进程(包括线程等)这两个主要概念。这俩概念其实是针对存储和计算的包装。文件包装了存储系统,进程包装了运算系统。事实证明,文件这个概念非常强大,已经推而广之到了IO空间,甚至运算空间。OS其实就是一个以进程概念为核心,以存储和文件为辅助的VM。
文件就是具名的数据。数据就是信息的编码。数据可以分成两大类,一类是被动数据性的,一类是主动指令性的。程序就是那种指令性的文件。所有的数据文件都需要被某个程序(也就是指令文件)解释才有相应的意义和表现。对人来说,数据文件是根本,程序文件是工具,对OS来说,它并不怎么关注数据文件(只要保证它们安安稳稳的呆在那儿就行了),它关注的是程序文件。
我们下一节就讲讲OS跟程序之间的关系。
分享到:
相关推荐
Windows操作系统是由微软公司开发的一系列图形界面操作系统,自1985年首次发布以来,已经成为全球最广泛使用的个人电脑操作系统之一。Windows操作系统以其强大的功能、丰富的应用程序支持和友好的用户界面而著称。 ...
【网络操作系统概述】 网络操作系统(Network Operating System, NOS)是计算机网络中不可或缺的一部分,它在计算机硬件和用户应用程序之间起到桥梁的作用,使得用户能够访问和管理网络资源。网络操作系统的核心...
### 操作系统第一章课件概述知识点详解 #### 一、操作系统的地位与定义 - **操作系统的地位**:操作系统位于用户与硬件之间,是计算机系统的核心组成部分。它充当着用户与计算机硬件之间的桥梁,使用户能够更加...
这篇概述主要涉及了操作系统的定义、特征、发展历史以及一些重要的操作系统实例。 首先,操作系统(Operating System,简称OS)是一个复杂的软件系统,它包括一系列程序模块,其主要任务是管理和协调计算机硬件和...
### 操作系统与计算机系统概览 #### 一、计算机系统的发展历程与分类 自1946年世界上首台电子数字计算机ENIAC诞生以来,计算机技术经历了四代重大变革,每一阶段都有其标志性技术和支撑软件。 1. **电子管计算机...
Linux 操作系统是一种类 UNIX 系列的开源操作系统,稳定、高效等一系列名词形容该操作系统。Linux 之父 Linus Benedict Torvalds 创建了 Linux 操作系统。Linux 操作系统的源代码包名为 coreutil,可以通过搜索系统...
在"操作系统第一章概述"中,我们首先会接触到计算机的基本概念和构成。 计算机定义为一种具有存储和运算能力的信息处理装置,能够处理各种形式的信息,包括数值、文字、图像、声音和视频等。其工作基于算术运算和...
操作系统是计算机科学中的核心组成部分,它管理着计算机的硬件资源,并为用户提供了一个友好的交互界面。在《操作系统原理教程》的第1章中,我们首先会了解到计算机系统的基本构成,包括计算机硬件和软件。 计算机...
进程管理是操作系统的核心功能之一,它涉及到进程的创建、调度、同步和通信。在多任务环境中,操作系统需要合理分配处理器时间,确保各个进程公平地获得执行机会。此外,为了实现进程间的协作,还需要提供同步机制,...
以上是对“操作系统概述+实验1”主题的详细解析,涵盖了操作系统的基本概念、功能、类型、结构以及核心组件的管理,旨在为学习者构建一个全面的操作系统知识框架。在实际的学习过程中,结合实验操作,将理论与实践相...
操作系统是计算机系统的核心组成部分,它负责管理和控制计算机的硬件资源,同时也为用户和应用程序提供服务。本文将深入探讨操作系统的工作原理,从软硬件两个角度来阐述其主要功能和运作机制。 首先,我们要理解...
智能手机操作系统概述 智能手机操作系统是当前移动计算技术发展中最为活跃的领域。随着智能手机市场的发展,操作系统的研究与开发变得越来越重要。目前市场上的智能手机共有多种不同的操作系统,它们分别是 Symbian...
操作系统安全概述及常见的网络入侵手段 操作系统是应用软件和服务运行的公共平台,操作系统安全漏洞是网络入侵的重要因素。操作系统的安全问题主要表现在:以操作系统为手段,获得授权以外的或未授权的信息;以操作...
**AIX操作系统概述** AIX(Advanced Interactive eXecutive)是IBM开发的一款基于UNIX的分布式操作系统,主要用于IBM的Power架构服务器,特别是Power Systems系列。AIX是开放标准的,符合POSIX和Single UNIX ...
操作系统定义为位于硬件层之上,其他软件层之下的系统软件,由一系列程序模块组成,其主要任务是管理硬件和软件资源,组织计算机工作流程,并提供用户接口。在计算机系统中,操作系统扮演着至关重要的角色,是连接...
操作系统(Operating System,简称OS)是计算机系统的核心软件之一,它管理和控制计算机硬件与软件资源,为其他应用程序提供服务,同时管理用户与计算机硬件之间的交互。在“王道考研解析系列”中,操作系统课程首先...
基于这一假设,我将提供一个关于计算机操作系统的知识点概述,希望能符合您的要求。 计算机操作系统是计算机科学中的一个核心领域,它管理计算机硬件与软件资源,并为应用程序提供执行平台。操作系统负责控制硬件...
本章将对操作系统进行概述,阐述其基本概念、功能和工作原理。 首先,操作系统(Operating System,简称OS)是计算机系统的核心组成部分,它负责控制和协调计算机硬件和软件资源,使得用户可以方便、高效地使用...
本篇PPT课件主要介绍了操作系统的概述,让我们深入理解其在计算机系统中的地位、发展、功能、类型以及性能指标。 首先,计算机系统由硬件系统和软件系统两大部分组成。硬件系统包括处理器(如CPU)、存储器、输入/...
"智能卡操作系统——COS技术概述" 智能卡操作系统(COS)是指智能卡内部的一种微型操作系统,它是专门为智能卡设计的,旨在解决智能卡管理工作的复杂性和高效性问题。COS的出现大大改善了智能卡的交互界面,使智能...