计算机系统由硬件和软件两部分组成。操作系统(OS,Operating System)是配置在计算机硬件上的第一层软件,是对硬件系统的首次补充。

硬件:计算机物理设备,即各种处理机存储器、输入/输出设备、通信设备等。

软件:指由计算机硬件执行以完成一定任务的所有程序以及数据

(一)操作系统的定义

操作系统(OS,Operating System)是一个管理计算机系统资源、控制程序运行的系统软件,它为用户提供了一个方便、安全、可靠的工作环境和界面。

作为计算机系统的控制和指挥中心,操作系统就是一个软件,而且是一个系统软件(System Software)。它的运行既可依赖于计算机系统的硬件(Hardware),又要管理计算机系统的一切硬件设施。

(二)操作系统的目标

目前存在多种类型的OS,不同类型的OS,其目标各有所侧重。一般来说,就有其中以下几点:

1.有效性

有效性是推动操作系统发展最主要的动力。

操作系统使计算机的内存、CPU、I/O设备等资源得到充分的利用。并且还能够合理地组织计算机的工作流程,从而进一步改善系统的资源利用率和提高系统的吞吐量。

操作系统的有效性包括以下两个含意:

1)提高系统资源利用率        2)提高系统的吞吐量

2.方便性

操作系统的设计应尽量使得计算机系统更容易得到使用。

方便些和有效性是设计操作系统时最重要的两个目标。

3.可扩充性

操作系统采用了模块化结构,以便于增加新的功能模块和修改以前的功能模块。

OS具有很好的可扩充性,能够适应计算机硬件、体系结构以及应用发展的要求。

4.开放性

由于生产厂家生产了各种不同类型的计算机和设备,就出现了兼容性的问题,为使来自不同厂家的计算机和设备能够通过网络加以集成化,并且能够正确、有效地协同工作,实现应用的可移植性和互操作性。要求操作系统(OS)必须建立一个统一开放的开放环境就是OS要具有开放性的前提。

(三)操作系统的作用

从不同的角度来观察操作系统的作用,从一般用户的角度来看,可把OS看作是用户与计算机硬件系统之间的接口,从资源管理的角度来看,可把OS看作是计算机系统资源的管理者。

OS实现了对计算机资源的抽象,隐藏了对硬件操作的细节。

1.操作系统作为用户与计算机硬件系统之间的接口

操作系统作为用户与计算机硬件西永之间的接口的含义是:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。**注意**:操作系统是一个系统软件,这类型的接口属于软件接口。

OS作为接口的示意图:

从图中可以看出,用户可以通过三种方式使用计算机:

1.命令方式       2.系统调用方式       3.图形、窗口方式        2.OS作为计算机系统资源的管理者

在计算机系统中,通常都包含了硬件和软件资源,归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。

相应地,OS的主要功能也正是针对这四类资源进行有效的管理,即:          1)处理机管理:用于分配和控制处理机     2)存储器管理:主要负责内存的分配和回收     3)I/O设备管理:负责I/O设备的分配和操纵     4)文件管理:负责文件的存取、共享和保护      3.OS实现了对计算机资源的抽象

在裸机(完全无软件的计算机系统)上安装OS后,便可变成一台功能显著增强,使用极为方便的多层扩充机器或多层虚拟机。

OS是铺设在计算机硬件上的多层系统软件,不仅增强了系统的功能,也隐藏了对硬件操作的细节,而且也实现了对计算机硬件操作的多个层次的抽象。

(四)推动操作系统发展的主要动力

推动操作系统发展的主要动力,可以归结为如下四个方面:

1.不断提高计算机资源的利用率

在计算机发展初期,系统特别昂贵,提高计算机系统中各种资源的利用率,这是OS最初发展的推动力。由此形成了自动地对一批作业进行处理的多道批处理系统。

在20世纪60年代和70年代,出现了能有效提高I/O设备和CPU利用率的SPOOLing系统和改善存储器系统利用率的虚拟存储器技术,以及在网络环境下,在服务器上配置了允许所有的网络用户访问的文件系统和数据库系统。

2.方便用户

当资源利用率不高的问题得到解决,用户在上机、调试程序时的不方便性就成了主要矛盾。随后就形成了允许用户进行人机交互的分时系统,或称为多用户系统。

在10年代初出现了受到用户欢迎的图形化用户界面。

3.器件的不断更新换代

微电子技术的发展,也推动了计算机器件,特别是微机芯片的更新,使得计算机性能得到了提高。

在多处理机发张的同时,外部设备也得到了发展。

4.计算机体系结构的不断发展。

计算机体系结构的发展,也推动了OS的发展并产生新的操作系统类型。

所有的内容都是属于考研备考笔记,如有错误,请大家指出。

不介意的可以直接上我的GitHub:https://github.com/Soler0502H/Postgraduate_notebook_for_SJTU_Software_Program

OS考研复习笔记——操作系统的定义、目标、作用和发展的主要动力的更多相关文章

  1. Angular复习笔记7-路由(下)

    Angular复习笔记7-路由(下) 这是angular路由的第二篇,也是最后一篇.继续上一章的内容 路由跳转 Web应用中的页面跳转,指的是应用响应某个事件,从一个页面跳转到另一个页面的行为.对于使 ...

  2. Angular复习笔记5-指令

    Angular复习笔记5-指令 在Angular中,指令是一个重要的概念,它作用在特定的DOM元素上,可以扩展这个元素的功能,为元素增加新的行为.本质上,组件可以被理解为一种带有视图的指令.组件继承自 ...

  3. angular复习笔记4-模板

    Angular复习笔记4-模板 简介 模板是一种自定义的标准化页面,通过模板和模板中的数据结合,可以生成各种各样的网页.在Angular中,模板的默认语言是HTML,几乎所有的HTML语法在模板中都是 ...

  4. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  5. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  6. Angular复习笔记7-路由(上)

    Angular复习笔记7-路由(上) 关于Angular路由的部分将分为上下两篇来介绍.这是第一篇. 概述 路由所要解决的核心问题是通过建立URL和页面的对应关系,使得不同的页面可以用不同的URL来表 ...

  7. Angular复习笔记6-依赖注入

    Angular复习笔记6-依赖注入 依赖注入(DependencyInjection)是Angular实现重要功能的一种设计模式.一个大型应用的开发通常会涉及很多组件和服务,这些组件和服务之间有着错综 ...

  8. Java二次复习笔记(1)

    Java二次复习笔记(1) Java采用的默认字符编码集是Unicode. byte=byte+byte报错,值为int,而byte+=byte不报错.同样short = short+short报错, ...

  9. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

随机推荐

  1. SpringBoot项目中加入jsp页面

    根据我们之前搭建好的SpringBoot+SSm的项目的基础上,来增加webapp/WEB-INF的文件,由此来完成jsp页面的跳转. 先增加jsp的pom依赖: <!-- https://mv ...

  2. Android四种跨进程通信

    由于android系统中应用程序之间不能共享内存.因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些.在android SDK中提供了4种用于跨进程通讯的方式.这4种方式正好对应于andro ...

  3. 定时删除elasticsearch索引

    从去年搭建了日志系统后,就没有去管它了,最近发现大半年各种日志的index也蛮多的,就想着写个脚本定时清理一下,把一些太久的日志清理掉. 脚本思路:通过获取index的尾部时间与我们设定的过期时间进行 ...

  4. Nginx的upstream的5种分配方式

    转自:Nginx的upstream目前支持5种分配方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight指定轮询几率,weigh ...

  5. Elasticsearch使用BulkProcessor批量插入

    https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-document-bulk. ...

  6. SQL:存储过程

    1/什么是存储过程及概念 Transact-SQL中的存储过程,非常类似于.Net语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可 ...

  7. i.mx6 Android5.1.1 Zygote

    0. 总结: 0.1 相关源码目录: framework/base/cmds/app_process/app_main.cppframeworks/base/core/jni/AndroidRunti ...

  8. 详解 Webpack+Babel+React 开发环境的搭建

    1.认识Webpack 构建应用前我们先来了解一下Webpack, Webpack是一个模块打包工具,能够把各种文件(例如:ReactJS.Babel.Coffeescript.Less/Sass等) ...

  9. C# 通过反射获取方法/类上的自定义特性

    1.所有自定义属性都必须继承System.Attribute 2.自定义属性的类名称必须为 XXXXAttribute 即是已Attribute结尾 自定义属性QuickWebApi [Attribu ...

  10. 一、JDBC基础示例

    一.简介 JDBC全称叫做Java database connectivity,直译为Java语言的数据库连接.它主要针对于支持结构化查询语言(SQL)的数据源,与Java程序连接并操作数据. JDB ...