操作系统的主要功能

news2025/1/13 2:35:06

目录

一.  处理机管理功能 

1.1 进程控制

1.2 进程同步

1.3 进程通信

1.4 进程调度

二. 存储器管理功能

2.1 内存分配 

2.2 内存保护 

2.3 地址映射

2.4 内存扩充 

三. 设备管理功能 

3.1 缓冲管理

3.2 设备分配

3.3 设备处理    

3.4 设备独立性和虚拟设备

四. 文件管理功能 

4.1 文件存储空间的管理

4.2 目录管理

4.3 文件的读/写管理和保护

五. 用户接口

5.1 命令接口

5.2 程序接口    

5.3 图形接口    


        操作系统是用户与硬件之间的桥梁,它主要负责管理计算机系统中的所有资源,并负责它们的调度和使用,充分发挥这些资源的作用和方便用户使用计算机。         

        从资源管理的角度来看,操作系统的功能主要有:

  • 处理机管理功能;
  • 存储器管理功能;
  • 设备管理功能;
  • 文件管理功能;
  • 用户接口;

一.  处理机管理功能 

        处理机的分配和运行,都是以进程为基本单位,因而对处理机的管理,可归结为对进程的管理。

1.1 进程控制

  • 为作业创建一个或多个进程,并为之分配必要资源。
  • 撤销已结束的进程,回收其占用的资源。
  • 控制进程运行过程的状态转换。 

1.2 进程同步

  • 互斥方式:诸进程访问临界资源;锁机制;
  • 同步方式:在相互合作完成任务的进程之间由同步机构对执行次序加以协调;信号量机制;

1.3 进程通信

相互合作的诸进程之间需要互换信息,即合作进程间需要通信,以协调进程间的协作。 

1.4 进程调度

  • 作业调度:为部分后备作业分配资源、将其调入内存、创建进程、插入到就绪队列,等待进程调度。
  • 进程调度:为就绪队列的某进程分配处理器,设置运行现场,使其能够运行。 
处理机管理的主要功能

二. 存储器管理功能

        存储器管理的主要任务,是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。

2.1 内存分配 

        主要任务是为每道作业分配内存空间,减少内存碎片,提高内存利用率,允许正在运行的程序动态申请存储空间。      

  • 静态分配:装入作业时分配其所需全部存储空间,运行期间不可再申请存储空间,也不能“移动”。
  • 动态分配:装入作业时分配其所需的基本存储空间,运行期间可再申请存储空间,也可以“移动”。

2.2 内存保护 

  • 通过设置界限寄存器实现,主要任务是保证各道程序之间互不干扰,各自在系统为其分配的内存空间运行,禁止用户程序访问操作系统的程序和数据。    
  • 为了确保每道程序都只在自己的内存区中运行,必须设置内存保护机制。设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。越界检查都由硬件实现。对发生越界后的处理,还须与软件配合来完成。
  • 下界寄存器:存放程序装入内存后的开始地址(首址);
  • 上界寄存器:存放程序装入内存后的末地址;
  • 判别式: 

下界寄存器  ≤  物理地址  <  上界寄存器 

2.3 地址映射

  • 程序中的地址称为“逻辑地址”或“相对地址”,这些程序的地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的;
  • 内存中单元的地址称为“物理地址“或“绝对地址”,由内存中的一系列单元所限定的地址范围;
  • 多道程序下,进程装入内存后要由逻辑地址到内存物理地址进行变换,该功能应在硬件的支持下完成。

2.4 内存扩充 

        借助于虚拟存储技术,从逻辑上去扩充内存容量,借助于虚拟存储技术。改善了系统的性能,基本上不增加硬件投资。

  • 请求调入:部分装入,即运行期间由操作系统在需要时装入所需部分。
  • 置换:内存空间不够时,可调出部分不活跃程序或数据到外存,将需要调入的部分放入内存。

三. 设备管理功能 

        设备管理用于管理计算机系统中所有的外围设备, 而设备管理的主要任务是,完成用户进程提出的I/O请求;为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理设备分配设备处理,以及虚拟设备等功能。

3.1 缓冲管理

        匹配CPU和外设的速度,提高两者的利用率。最常见的缓冲区机制有单缓冲机制、能实现双向同时传送数据的双缓冲机制,循环缓冲以及能供多个设备同时使用的公用缓冲池机制。 

3.2 设备分配

        根据用户请求,分配I/O设备及相应的控制器和通道。 

3.3 设备处理    

        通过设备驱动程序完成,实现CPU和设备控制器之间的通信。   

3.4 设备独立性和虚拟设备

  • 设备独立性:应用程序独立于物理设备,使得用户编制的程序与实际使用的物理设备无关。
  • 虚拟设备功能:每次仅允许一个进程使用的物理设备,变为能“同时”供多个进程共享的设备。(即多个对应的逻辑设备) 

四. 文件管理功能 

        文件管理的主要任务:对用户文件和系统文件进行管理,以方便用户使用并保证文件安全。  

4.1 文件存储空间的管理

  • 解决如何存放信息,以提高空间利用率和读写性能;
  • 存储空间的使用情况,空间分配与回收;

4.2 目录管理

  • 解决信息检索问题,对众多目录项加以有效组织。
  • 目录项包括文件名、文件属性、文件在磁盘上的物理位置等。 

4.3 文件的读/写管理和保护

  • 文件的读/写管理:
  1. 该功能是根据用户的请求,从外存中读取数据;或将数据写入外存。
  • 文件保护:
  1. 防止未经核准的用户存取文件;
  2. 防止冒名顶替存取文件;   
  3. 防止以不正确的方式使用文件。 

五. 用户接口

        目标:提供一个友好的用户访问操作系统的接口。

5.1 命令接口

  • 联机用户接口:这是为联机用户提供的,它由一组键盘操作命令及命令解释程序所组成。当用户在终端或控制台上每键入一条命令后,系统便立即转入命令解释程序,对该命令加以解释并执行该命令。
  • 脱机用户接口:该接口是为批处理作业的用户提供的,故也称为批处理用户接口。批处理作业的用户不能直接与自己的作业交互作用,只能委托系统代替用户对作业进行控制和干预。

5.2 程序接口    

        该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径。它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。

5.3 图形接口    

        图形用户接口采用了图形化的操作界面, 用非常容易识别的各种图标(icon)来将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。用户可用鼠标或通过菜单和对话框,来完成对应用程序和文件的操作。 


        有兴趣的朋友还可以看一下下面的两篇,顺着看下去就好了: 

  • 操作系统的四大基本特征 
  • 操作系统的结构设计怎么搞?带你理解理解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于Python爬虫兼职,这里有一条高效路径

前言 昨天,一位00后前来报喜,也表达感谢。 他说,当初刚毕业啥也不会也找不到工作,最后听了我的,边学爬虫边做兼职项目,积极主动求职投简历,既可以兼职获得收益,也能积累项目经验谋求…

Linux:以K、M、G查看文件大小;

简介:灵活多变的查看文件的大小 历史攻略: Linux:sudo免密 python:执行dos命令、Linux命令 案例源码: # 以适当方式显示文件大小: ls -lh# 以byte显示文件大小: ls -l# 以M显示文件大小&am…

NR PUSCH(五) DMRS

微信同步更新欢迎关注同名modem协议笔记 PUSCH DMRS和PDSCH DMRS内容基本一样,但也有不同的地方,例如PUSCH 可能需要Transform precoding,port 对应0~11(DMRS configured type2)等等。先简单看看Transformprecoding的相关内容,Tr…

Excel数据分析实战之开宗明义: Excel与数据分析实战

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结…

军用大数据 - Spark机器学习

文章目录第1关:Iris 分类任务描述相关知识1:观察数据集2:RFormula 特征提取3:pandas 的 concat 函数编程要求代码实现————————————————————————————————————————第2关:图片识…

网络原理 --- 传输层Ⅲ TCP协议中的滑动窗口,流量控制和拥塞控制

文章目录网络原理传输层TCP协议4.滑动窗口5.流量控制6.拥塞控制总结网络原理 介绍TCP/IP协议中每一层里面的核心内容~ 应用层传输层网络层数据链路层物理层 传输层TCP协议 4.滑动窗口 TCP能够保证可靠传输,但是失去了效率! 但是TCP希望能够在保证可靠性的前提下,尽可能地提…

达梦数据库在不修改SQL的情况下为SQL指定HINT

前言 在Oracle中可以使用outline、SQL PROFILE等手段去在无需修改SQL语句的情况下,来保证SQL执行计划在不同硬件环境下相同,从而保证SQL语句在不同环境的执行效率。那么,在达梦数据库中则可以使用SF_INJECT_HINT系统函数达到类似的效果。 SF…

Java学习笔记 --- 异常

一、基本介绍 Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常) 执行过程中所发生的异常事件可以分为两类 1、Error(错误):Java虚拟机无法解决的严重问…

十月了,请问2022届的同学们都找到工作了吗?

今年的就业大环境就不多说了,大家都知道。一边是超千万规模的应届毕业生,叠加教培、地产等行业裁员;另一边则是疫情反复影响之下,企业瘦身裁员、停招、缩招。在白领性质的劳动力市场,劳动力供给严重大于需求&#xff0…

【C语言】解题训练

目录 字符串左旋 方法1 方法2 字符串旋转结果判断 方法1 方法2 杨氏矩阵 位段 题目1 题目2 联合体 题目1 题目2 有序序列合并 变种水仙花 找单身狗 字符串左旋 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字符得到…

纷享销客联合B.P商业伙伴携手30+企业CEO走进南天信息

数字化智能化建设的当下,数字化服务商承担着承上启下的核心力量。企业数字化转型成为刚需,意味着ICT企业的市场前景持续乐观,但在疫情和竞争加剧之下,企业发展也遭遇增长的挑战,如何在数字中国的趋势之下,乘…

大学网课搜题公众号系统

大学网课搜题公众号系统 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 题库:题库后台(点击跳转&#xf…

【从小白到大白05】c和c++内存管理

c和c内存管理 文章目录c和c内存管理c内存管理方式new/delete操作内置类型new申请动态空间delete释放空间new和delete操作自定义类型operator new与operator delete函数new[]和delete[]定位new(placement-new)总结以上内存泄露以上就是全部内容啦&#xf…

WPS-JS宏开发-基础知识-03-三大基本结构

系统:Windows 11 软件:WPS表格11 本系列介绍一款类Excel的软件,WPS表格当然也是介绍其宏开发,不同的是,使用的JS宏会同样介绍多个系列,本系列介绍一些基础知识 Part 1: 三大逻辑结构 一个具体的…

如何给字符串字段加索引?

1.引例 现在的系统中,很多都会包含邮箱字段,那要如何给这个字段建立索引呢? 假设,现在维护了一个用户表,其中包含邮箱,定义如下: mysql>create table SUser(ID int primary key,email var…

OpenGL之多边形偏移、雾效、纹理映射

1.1 OpenGL中可以设置物体的点、线、面绘制模式。如果需要同时绘制多种模式,如下以面和线模式绘制两遍模型,可以看到线不连续,当镜头推远推近时会出现闪烁现象。 void glPolygonMode(GLenum face,GLenum mode);face :GL_FRONT,GL…

分治暴力求解最近点对问题 + 时间性能量化分析

Catalogue1 Intro2 Problem3 Time performance analysis4 Solution5 Reference1 Intro 本文旨在讨论分治和暴力在求解最近点对问题时的时间性能问题,关于解题部分不做过多讲解,只附上相关代码。 2 Problem 给定平面上N个点,找出其中的一对…

【Linux】第七章 进程控制(进程创建+进程终止+进程等待+进程替换+min_shell)

🏆个人主页:企鹅不叫的博客 ​ 🌈专栏 C语言初阶和进阶C项目Leetcode刷题初阶数据结构与算法C初阶和进阶《深入理解计算机操作系统》《高质量C/C编程》Linux ⭐️ 博主码云gitee链接:代码仓库地址 ⚡若有帮助可以【关注点赞收藏】…

【路径规划-多式联运】基于遗传算法求解多式联运运输问题(考虑碳交易)附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

字符串和编码那些事

一、字符编码 1. ASCII字符编码 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte) 由于计算机是美国人发明的&#…