1.1 操作系统的目标和作用

Wesley13
• 阅读 672

1.1.1 操作系统的目标

1.有效性
(1)提高系统资源利用率
对于计算机,一般来说,系统资源是一定的,在未配置OS的计算机系统中,计算机的资源不能被充分利用,这就造成了计算机系统资源的浪费。OS是管理计算机硬件和软件的系统软件,在配置OS后,OS会对计算机系统资源进行管理,使计算机系统资源能够有序的,忙碌的使用,而不是让其系统资源无序的,空闲的放在那里而得不到使用,因此计算机系统资源可以在OS的管理下得到有效的利用。
(2)提高系统的吞吐量
吞吐量是指在单位时间内中央处理器(CPU)从存储设备读取->处理->存储信息的量。OS通过合理地组织计算机的工作流程来进一步提高计算机系统资源的利用率。提高系统吞吐量意味着计算机系统在单位时间内处理的用户或系统请求越多,系统资源得以充分利用。

2.方便性
在使用未配置OS的计算机时,你面对的是一个个只认0和1(机器码)的硬件,用户在使用计算机时必须给计算机发出(输入)由0和1组成的机器码指令,然后计算机才能明白你的想法,这就使的使用计算机很不方便,不易让大多数人使用。在配置OS后,用户可以直接调用OS的命令来使用计算机,当然,这些命令是用户容易理解的。这就让使用计算机变的更加方便。

OS的有效性和方便性是OS最重要的两个目标,只用在满足这两个的条件下后面的可扩充性和开放性才有意义。

3.可扩充性
随着VLSI(超大规模集成电路)技术和计算机技术的迅速发展,计算机硬件和体系结构也随之得到迅速发展,相应的,它们对OS提出了更高的功能和性能要求。

4.开放性
由于计算机网络的迅速发展,特别是Internet的应用的日益普及,计算机OS的应用环境已由单机封闭环境转向开放的网络环境。为使不同厂家的计算机和设备能通过网络加以集成化,并能正确、有效的协同工作,实现应用的可移植性和互操作性,要求系统必须提供统一的开放环境,进而要求OS具有开放性。
开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,均能彼此兼容,可方便的实现互连。

1.1.2 操作系统的作用

1.OS作为用户与计算机硬件系统的接口
从一般用户的角度来说,可以把OS看作是用户与计算机硬件系统之间的接口。OS处于用户与计算机硬件系统之间,用户可通过OS来使用计算机系统。或者说,用户在OS的帮助下,能够方便、快捷、安全、可靠的操纵计算机硬件和运行自己的程序。因为OS是一个系统软件,所以OS所提供的是软件接口,用户可以通过以下三种方式使用计算机 ;
(1)命令方式; 
由OS提供一组联机命令接口,该接口允许用户通过标准输入设备来输入有关命令来取得OS的service,并控制用户程序的运行。
(2)系统调用方式;
有OS提供遗嘱系统调用,用户可以通过相应的系统调用,来实现与OS之间的通信和取得OS的service。
(3)图形、窗口方式;
现在最为流行的一种接口,它允许用户通过屏幕上的窗口和图标来实现与OS之间的通信和取得OS的service。

2.OS作为计算机系统资源的管理者
从资源管理来看,一个计算机系统有着各种各样的硬件资源和软件资源,OS就是对相应的硬件资源和软件资源进行分类,调度,以使计算机系统资源得到充分的利用。

3.OS实现了对计算机资源的抽象
对与一个完全没有软件的计算机系统,他提供给用户的是硬件接口,用户在使用次计算机系统时,必须得对该计算机硬件系统提供的接口的实现细节有充分的了解,并能使用计算机硬件能识别的0和1(机器码)来编程,这无疑使增加了使用计算机的门槛,而且极不方便。而在配置了OS的计算机,OS将底层的硬件屏蔽,转而对底层硬件抽象为用户能更好理解的系统接口,用户在使用时无需对计算机硬件接口的实现充分了解,这就极大的减低了使用计算机的门槛,使得使用计算机更加方便。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这