计算机系统由硬件和软件两部分组成。操作系统(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. (转)Centos7上部署openstack ocata配置详解

    原文:http://www.cnblogs.com/yaohong/p/7601470.html 随笔-124  文章-2  评论-82  Centos7上部署openstack ocata配置详解 ...

  2. java service wrapper将java程序包装成系统服务(一)

    一. 概述 使用java语言开发应用程序,在windows平台下,一般存在3种应用形式: 1. web应用.web应用多数打成war包在web容器(如tomcat,jetty等)中运行. 2. 桌面应 ...

  3. 自定义类型转换器之TypeConverter

    C#提供了很多类型转换的方法如ConvertToInt.int.Parse.int.tryParse等等,这些方法都能将一个C#的基本数据类型转换成另一个C#基本数据类型.那么.既然如此,C#肯定会提 ...

  4. CentOS 开启安装EPEL YUM源

    我们用yum安装软件时,经常发现我们的yum源里面没有该软件,需要自己去wget,然后configure,make,make install,太折腾了. 其实,CentOS 还有一个源叫做 EPEL ...

  5. cppjieba分词学习笔记

    cppjieba分词包主要提供中文分词.关键词提取.词性标注三种功能 一.分词 cppjieba分词用的方法是最大概率分词(MP)和隐马尔科夫模型(HMM),以及将MP和HMM结合成的MixSegme ...

  6. Debian9安装SSH并允许root用户SSH登录

    安装SSH # apt install openssh-server openssh-client 启动SSH服务 # /etc/init.d/ssh start 添加SSH开机启动 # update ...

  7. IOS9网络请求报错:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

    今天下载Xcode7试了下,运行项目时报上面的错误,网上查了下原来iOS9引入了新特性App Transport Security (ATS).详情:App Transport Security (A ...

  8. Javad的Validator框架概述

    Java EE 6 提出了 Bean Validation 规范,使用注解的方式对 Java Bean 进行约束验证,不局限于某一层次或者某一编程模型,灵活易用.下边将向您系统的介绍该规范的各种特性. ...

  9. 问题集录--TensorFlow深度学习

    TensorFlow深度学习框架 Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow. 与Caffe ...

  10. webstorm 连接svn

    先下个Slik-Subversion,安装好,在webstorm中setting中搜索Subversion,把上边安装的地址加上\svn.exe配置在Use command line client,然 ...