操作系统--计算机概述
2016-01-01 22:21
295 查看
1 计算机系统概述
1.1 计算机硬件结构
计算机硬件系统由处理器(控制器和运算器)、主存储器、输入/输出模块(I/O控制器、外部设备)和系统总线。
1. 处理器(Processor)
处理器用于控制计算机的操作,执行数据处理功能,是计算机硬件的核心,又称CPU(Central Processing Unit),处理器由控制器、运算器和一组寄存器组成。控制器负责根据读入的指令决定计算机的操作,运算器负责对数据进行算术运算和逻辑运算。寄存器有一定的存储能力并且访问速度快。处理器将指令和数据先加载到寄存器中,然后再进行处理,这样可以提升处理器的处理速度。
2. 主存储器(Main Memory)
主存储器又称内存,用于存储数据和程序。处理器需要的程序和数据都在主存储器中存放,处理器与主存储器直接交换信息。其他部件与处理器交换要通过主存储器。
3. 输入/输出模块(I/O Modules)
输入/输出模块用于完成用户信息(程序和数据)和计算机能处理的二进制信息之间的变换和移动。
4. 系统总线(System Bus)
系统总线是为处理器、主存储器和输入/输出模块之间提供信息通信的设备。按照所传的信息种类,总线分为控制总线、地址总线和数据总线。
冯·诺依曼在1946年提出了存储程序计算机模型:
1)以运算单元为中心,控制流由指令流产生
2)采用存储程序原理,面向主存组织数据流
3)主存是按地址访问、线性编址的空间
4)指令由操作码和地址码组成
5)数据以二进制编码
1.2 计算机软件系统
计算机软件系统分为:系统软件、支撑软件和应用软件,其中支撑软件也可认为是系统软件。
计算机软件是用来封装计算机硬件的使用细节,向用户提供方便使用计算机软件系统的接口,它们是分层构造的。
对程序员来说,如果只有计算机硬件系统,只能使用完整的机器指令来编程,甚至要操纵具体的硬件设备。
软件开发的不同层次:
那么计算机程序的运行过程是怎样呢?首先要清楚的是,源程序是不能被内存直接执行的,要向被内存执行,首先要生成目标代码程序,一些高级语言源程序需要经过转换程序转为另外一种高级语言源程序,转换后的源程序经过编译程序或或者解释程序(例如Java)生成目标代码程序,如果是汇编语言源程序,可以经过汇编程序后直接生成目标代码程序;生成目标代码程序后经过连接程序生成可执行程序(针对操作系统层面上的可执行程序),可执行程序再经过装入程序生成内存可执行程序。
1.3 操作系统
1. 操作系统的定义
操作系统(Operating System),简称OS,是计算机系统中的一个系统软件,是一些程序模块的集合——它们尽量有效、合理的方式组织和管理计算机的软硬件资源;合理地组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能;使得用户能够灵活、方便地使用计算机,使整个计算机系统高效率运行。
解读几个关键词:
有效:是指系统效率、资源利用率
合理:是指各种软硬件资源的管理是否公平合理
方便:用户界面和编程接口
2. 操作系统的作用
1)操作系统是资源的管理者
操作系统管理着硬件资源(CPU、内存、设备(I/O设备、磁盘、时钟、网络卡等)和软件资源(磁盘上的文件、各类管理信息)。那么它是如何管理资源呢?首先先跟踪记录资源的使用情况,可以用数据结构来记录资源的使用情况(如,哪些资源空闲,资源分配给谁使用,使用多长时间),然后确定分配策略,包括静态分配策略和动态分配策略,所谓静态资源分配策略是指进程进入内存前一次性分配所需的所有资源。静态分配策略是给一个进程独占分配一个设备所有资源直至结束,好处是不会死锁,坏处是效率低。动态分配策略是指在进程执行过程中根据需要来分配资源,效率比静态分配策略高,但是有可能产生死锁。实施资源的分配和回收。此外,操作系统还会使用各种各样的技术来提高资源的利用率,当有多个进程使用同一个资源时,还要保护该资源的利用,协调多个进程对资源请求的冲突。
2)操作系统是各种系统服务的提供者
操作系统为用户提供了一组功能强大、方便易用的命令或系统调用
3)操作系统是对机器硬件的扩展
操作系统是硬件基础上的第一层软件,操作系统之上是应用程序,并为其提供各种各样的接口,如用户接口和编程接口。操作系统之下是机器硬件,也就是说操作屏蔽了一些硬件的细节,用户程序不需要直接和硬件打交道,而是通过操作系统来控制硬件。操作系统屏蔽硬件的细节的目的是因为与硬件相关的工作很复杂,而用操作系统实现会简单很多。所以操作系统是在应用程序和硬件之间建立了一个等价的扩展机器(虚拟机),对硬件进行抽象,提高可移植性,同时比直接对底层硬件编程更容易。
3. 操作系统的特征
操作系统与其他软件不同,其特征主要有:并发性、共享性、虚拟性和随机性。
1)并发性
并发是指处理多个同时性活动的能力,由于并发将会引发很多问题,如活动切换、保护、相互依赖的活动间的同步。在单CPU下,并发执行的程序在宏观上来看是同时执行的,但在微观上来看,任何一个时刻其实只有一个程序真正在执行,即这些程序是在CPU上轮流执行的。
这里要与并行区分下,并行是指不同程序同时在多个硬件部件上执行。
2)共享性
共享性是指操作系统与多个用户程序共同使用系统中的资源。与共享相关的问题是如何合理分配资源,所以操作系统需要解决对系统资源的合理分配和使用。
3)虚拟性
虚拟性是指一个物理实体映射为若干个对应的逻辑实体——分时或分空间,虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。例如,在单CPU环境下,从宏观上来看每个进程是在一个单独的虚拟CPU上来运行。
4)随机性
随机性是指操作系统必须随时对以不可预测的次序发生的事件进行响应并处理
4 操作系统的发展历程
操作系统发展是随着计算机硬件技术、应用需求的发展、软件新技术的出现而发展的。操作系统不断发展的目标是:充分利用硬件、提供更好的服务。
5 操作系统的分类
操作系统可分为:批处理操作系统、分时操作系统、实时操作系统、个人计算机操作系统、网络操作系统、分布式操作系统和嵌入式操作系统。
1)批处理操作系统
批处理操作系统是要求作业交给系统操作员,系统操作员随后将作业成批地输入到计算机系统进行处理,从而实现同时运行多道作业。这种系统的优点:效率高、吞吐率高。
批处理系统中的作业包括:用户程序、数据和作业说明书。
2)分时操作系统
分时操作系统是指一个主机连接多个终端,每个终端有一个用户在使用,多个终端用户同时使用同一计算机资源,主机轮流为每个终端用户服务。这种系统的优点:用户可以直接和计算机交互。
在这种操作系统中,采用了一些技术。
时间片
操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务,每次服务一个时间片
3)实时操作系统
实时操作系统是指使计算机能及时响应外部事件的请求,在规定的严格时间内完成对改事件的处理,并控制所有实时设备和实时任务协调一致地工作。这种系统追求的目标是:对外部请求在严格时间范围内做出响应,要求高可靠性。
4)个人计算机操作系统
个人计算机操作系统是一种单用户多任务的操作系统。追求目标:界面友好、使用方便、丰富的应用软件。
5)网络操作系统
网络操作系统是基于网络的,在各种计算机操作系统上,按网络体系结构协议标准开发的系统软件,包括网络管理、通信、完全、资源共享和各种网络应用。追求目标:互相通信、资源共享。
6)分布式操作系统
分布式系统或以计算机网络为基础,或以多处理机为基础,基本特征是处理分布在不同计算机上。
分布式操作系统的特点是将多台计算机管理起来,使它们联合,协调工作,完成一个共同任务。处理能力增强、速度更快、可靠性增强、具有透明性。
7)嵌入式操作系统
嵌入式系统是指可置于某产品内部的由计算机硬件、软件与其他机械设备组合而成的微电脑系统。
嵌入式操作系统运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等等资源进行统一协调、调度和控制的系统软件。
这里可以了解下SPOOLing技术
1.1 计算机硬件结构
计算机硬件系统由处理器(控制器和运算器)、主存储器、输入/输出模块(I/O控制器、外部设备)和系统总线。
1. 处理器(Processor)
处理器用于控制计算机的操作,执行数据处理功能,是计算机硬件的核心,又称CPU(Central Processing Unit),处理器由控制器、运算器和一组寄存器组成。控制器负责根据读入的指令决定计算机的操作,运算器负责对数据进行算术运算和逻辑运算。寄存器有一定的存储能力并且访问速度快。处理器将指令和数据先加载到寄存器中,然后再进行处理,这样可以提升处理器的处理速度。
2. 主存储器(Main Memory)
主存储器又称内存,用于存储数据和程序。处理器需要的程序和数据都在主存储器中存放,处理器与主存储器直接交换信息。其他部件与处理器交换要通过主存储器。
3. 输入/输出模块(I/O Modules)
输入/输出模块用于完成用户信息(程序和数据)和计算机能处理的二进制信息之间的变换和移动。
4. 系统总线(System Bus)
系统总线是为处理器、主存储器和输入/输出模块之间提供信息通信的设备。按照所传的信息种类,总线分为控制总线、地址总线和数据总线。
冯·诺依曼在1946年提出了存储程序计算机模型:
1)以运算单元为中心,控制流由指令流产生
2)采用存储程序原理,面向主存组织数据流
3)主存是按地址访问、线性编址的空间
4)指令由操作码和地址码组成
5)数据以二进制编码
1.2 计算机软件系统
计算机软件系统分为:系统软件、支撑软件和应用软件,其中支撑软件也可认为是系统软件。
计算机软件是用来封装计算机硬件的使用细节,向用户提供方便使用计算机软件系统的接口,它们是分层构造的。
对程序员来说,如果只有计算机硬件系统,只能使用完整的机器指令来编程,甚至要操纵具体的硬件设备。
软件开发的不同层次:
那么计算机程序的运行过程是怎样呢?首先要清楚的是,源程序是不能被内存直接执行的,要向被内存执行,首先要生成目标代码程序,一些高级语言源程序需要经过转换程序转为另外一种高级语言源程序,转换后的源程序经过编译程序或或者解释程序(例如Java)生成目标代码程序,如果是汇编语言源程序,可以经过汇编程序后直接生成目标代码程序;生成目标代码程序后经过连接程序生成可执行程序(针对操作系统层面上的可执行程序),可执行程序再经过装入程序生成内存可执行程序。
1.3 操作系统
1. 操作系统的定义
操作系统(Operating System),简称OS,是计算机系统中的一个系统软件,是一些程序模块的集合——它们尽量有效、合理的方式组织和管理计算机的软硬件资源;合理地组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能;使得用户能够灵活、方便地使用计算机,使整个计算机系统高效率运行。
解读几个关键词:
有效:是指系统效率、资源利用率
合理:是指各种软硬件资源的管理是否公平合理
方便:用户界面和编程接口
2. 操作系统的作用
1)操作系统是资源的管理者
操作系统管理着硬件资源(CPU、内存、设备(I/O设备、磁盘、时钟、网络卡等)和软件资源(磁盘上的文件、各类管理信息)。那么它是如何管理资源呢?首先先跟踪记录资源的使用情况,可以用数据结构来记录资源的使用情况(如,哪些资源空闲,资源分配给谁使用,使用多长时间),然后确定分配策略,包括静态分配策略和动态分配策略,所谓静态资源分配策略是指进程进入内存前一次性分配所需的所有资源。静态分配策略是给一个进程独占分配一个设备所有资源直至结束,好处是不会死锁,坏处是效率低。动态分配策略是指在进程执行过程中根据需要来分配资源,效率比静态分配策略高,但是有可能产生死锁。实施资源的分配和回收。此外,操作系统还会使用各种各样的技术来提高资源的利用率,当有多个进程使用同一个资源时,还要保护该资源的利用,协调多个进程对资源请求的冲突。
2)操作系统是各种系统服务的提供者
操作系统为用户提供了一组功能强大、方便易用的命令或系统调用
3)操作系统是对机器硬件的扩展
操作系统是硬件基础上的第一层软件,操作系统之上是应用程序,并为其提供各种各样的接口,如用户接口和编程接口。操作系统之下是机器硬件,也就是说操作屏蔽了一些硬件的细节,用户程序不需要直接和硬件打交道,而是通过操作系统来控制硬件。操作系统屏蔽硬件的细节的目的是因为与硬件相关的工作很复杂,而用操作系统实现会简单很多。所以操作系统是在应用程序和硬件之间建立了一个等价的扩展机器(虚拟机),对硬件进行抽象,提高可移植性,同时比直接对底层硬件编程更容易。
3. 操作系统的特征
操作系统与其他软件不同,其特征主要有:并发性、共享性、虚拟性和随机性。
1)并发性
并发是指处理多个同时性活动的能力,由于并发将会引发很多问题,如活动切换、保护、相互依赖的活动间的同步。在单CPU下,并发执行的程序在宏观上来看是同时执行的,但在微观上来看,任何一个时刻其实只有一个程序真正在执行,即这些程序是在CPU上轮流执行的。
这里要与并行区分下,并行是指不同程序同时在多个硬件部件上执行。
2)共享性
共享性是指操作系统与多个用户程序共同使用系统中的资源。与共享相关的问题是如何合理分配资源,所以操作系统需要解决对系统资源的合理分配和使用。
3)虚拟性
虚拟性是指一个物理实体映射为若干个对应的逻辑实体——分时或分空间,虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。例如,在单CPU环境下,从宏观上来看每个进程是在一个单独的虚拟CPU上来运行。
4)随机性
随机性是指操作系统必须随时对以不可预测的次序发生的事件进行响应并处理
4 操作系统的发展历程
操作系统发展是随着计算机硬件技术、应用需求的发展、软件新技术的出现而发展的。操作系统不断发展的目标是:充分利用硬件、提供更好的服务。
5 操作系统的分类
操作系统可分为:批处理操作系统、分时操作系统、实时操作系统、个人计算机操作系统、网络操作系统、分布式操作系统和嵌入式操作系统。
1)批处理操作系统
批处理操作系统是要求作业交给系统操作员,系统操作员随后将作业成批地输入到计算机系统进行处理,从而实现同时运行多道作业。这种系统的优点:效率高、吞吐率高。
批处理系统中的作业包括:用户程序、数据和作业说明书。
2)分时操作系统
分时操作系统是指一个主机连接多个终端,每个终端有一个用户在使用,多个终端用户同时使用同一计算机资源,主机轮流为每个终端用户服务。这种系统的优点:用户可以直接和计算机交互。
在这种操作系统中,采用了一些技术。
时间片
操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务,每次服务一个时间片
3)实时操作系统
实时操作系统是指使计算机能及时响应外部事件的请求,在规定的严格时间内完成对改事件的处理,并控制所有实时设备和实时任务协调一致地工作。这种系统追求的目标是:对外部请求在严格时间范围内做出响应,要求高可靠性。
4)个人计算机操作系统
个人计算机操作系统是一种单用户多任务的操作系统。追求目标:界面友好、使用方便、丰富的应用软件。
5)网络操作系统
网络操作系统是基于网络的,在各种计算机操作系统上,按网络体系结构协议标准开发的系统软件,包括网络管理、通信、完全、资源共享和各种网络应用。追求目标:互相通信、资源共享。
6)分布式操作系统
分布式系统或以计算机网络为基础,或以多处理机为基础,基本特征是处理分布在不同计算机上。
分布式操作系统的特点是将多台计算机管理起来,使它们联合,协调工作,完成一个共同任务。处理能力增强、速度更快、可靠性增强、具有透明性。
7)嵌入式操作系统
嵌入式系统是指可置于某产品内部的由计算机硬件、软件与其他机械设备组合而成的微电脑系统。
嵌入式操作系统运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等等资源进行统一协调、调度和控制的系统软件。
这里可以了解下SPOOLing技术
相关文章推荐
- 应用领航:盘点那些年我们一起追过的OS
- 无奇不有!盘点各国自己开发的操作系统
- 可自定义oem的萝卜家园 Ghost XP 新春装机版 V200801 下载
- C#实现判断操作系统是否为Win8以上版本
- js获取本机操作系统类型的两种方法
- Linux操作系统添加新硬盘方法
- java如何获取本地操作系统进程列表
- Linux rdesktop操作系统下远程登录Windows XP桌面
- 32位操作系统认出超出4G内存的方法
- Linux rpm tar 操作系统下软件的安装与卸载方法
- JavaScript 获取用户客户端操作系统版本
- jsp 获取客户端的浏览器和操作系统信息
- Windows 操作系统的安全设置
- php判断当前操作系统类型
- PHP获取用户的浏览器与操作系统信息的代码
- Perl操作系统环境变量的脚本代码
- javascript获取本机操作系统类型的方法
- 封装好的js判断操作系统与浏览器代码分享
- javascript实现获取浏览器版本、操作系统类型
- php根据操作系统转换文件名大小写的方法