当前位置: 首页 > news >正文

操作系统的主要功能--处理机、存储器、设备、文件

一、处理机管理功能

对处理机的管理可以归结为对进程的管理。处理机管理的主要功能包括:创建和撤销进程,对进程的运行进行协调,实现进程之间的信息交换,并且按照异地你给的算法将处理机分配给进程

进程控制:为一个作业创建几个进程,为一个进程创建几个线程。为作业创建进程、撤销已结束的进程,控制进程在运行过程中的状态转换

进程同步:使多个进程(含线程)协调运行。①进程互斥方式②进程同步方式

进程通信:当有一组相互合作的进程去完成一个共同任务时,他们之间需要交换信息

调度:作业调度和进程调度。作业调度时从后备队列中按照一定算法选择若干作业,为他们分配所需资源,在作业调入内存后建立进程,并插入就绪队列中。进程调度时从进程的就绪队列中按照一定算法选择出一个进程, 将处理机分配给它,并未它设置运行现场

二、存储器管理功能

存储器管理的主要功能,是为多道程序的运行提供良好的环境,提供存储器的利用率,并逻辑上扩充内存

存储器管理具有内存分配和回收、内存保护、地址映射和内存扩充等功能

内存分配:为每道程序分配内存空间,提高存储器利用率,允许正在允许的程序申请附加的内存空间。由静态分配和动态分配两种

内存保护:①每个程序不互相干扰②用户程序不允许访问操作系统程序和数据,也不允许用户程序转移到非共享的其他用户程序中

地址映射:地址空间内的逻辑地址与其在内存空间中的物理地址并不一致,将地址空间中的逻辑地址转换为内存空间中的物理地址

内存扩充:借助虚拟存储技术从逻辑上扩充内存容量。包括请求调入功能和置换功能

三、设备管理功能

设备管理的主要任务:①1完成用户进程提出的IO请求,为用户进程分配所需的IO设备,并完成指定的IO操作②提高CPU和IO设备利用率,提高IO速度

缓冲管理:加入缓冲缓和CPU和IO设备速度不匹配的问题,提高CPU利用率。包括:单机制缓冲、双机制缓存、公用缓冲池机制

设备分配:根据用户进程的IO请求、系统现有资源情况以及按照某种设备分配策略,为设备分配所需的设备以及相应的控制器和通道

设备处理:用于实现CPU和设备控制器之间的通信,即CPU向设备控制器发出IO命令,完成指定的IO操作。或CPU接收从控制器传来的中断请求,进行处理

四、文件管理功能

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

文件存储空间的管理:为每个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的存取速度

目录管理:用户可以通过文件名对文件进行存取,能实现文件共享

文件的读、写管理和保护:根据用户的请求从外存中读取数据,或将数据写入外存。并防止系统中的文件被窃取或破坏

五、操作系统与用户之间的接口

用户接口:用于用户直接或间接地控制自己的作业,分为:联机用户接口、脱机用户接口和图形用户接口,分别为联机用户、批处理作业用户和简易操作服务

程序接口:为用户在程序中执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径

http://www.lryc.cn/news/242995.html

相关文章:

  • PDF 批量处理软件BatchOutput PDF mac中文版介绍
  • oracle安装的肘腋之疾小合集
  • django(千锋教育)
  • Python 前后端分离项目Vue部署应用
  • Linux中安装MySQ-合集
  • elk 简单操作手册
  • CSS画一条线
  • 分享常用设计模式之单例模式(懒汉模式和饿汉模式)和几种关于设计模式的面试题
  • python每日一题——6三数之和
  • 黑马点评笔记 分布式锁
  • java---抽象类 用abstract修饰
  • JVM 之 javac、java、javap 命令详解
  • 市场被套牢,没有了解积累和分配,昂首资本一一介绍
  • notion 3.0.0 版本最新桌面端汉化教程,支持MAC和WIN版本
  • mysql union 和 union all区别?
  • uni-app小程序 swiper 分页器样式修改
  • 2023.11.23使用flask实现在指定路径生成文件夹操作
  • 【Unity入门】Input.GetAxis(““)控制物体移动、旋转
  • 【C++ 设计模式】面向对象设计原则 Template Method 模式 Strategy 策略模式
  • Flink-简介与基础
  • mobiusp 正在创作乐曲
  • Jensen不等式
  • 北邮22级信通院数电:Verilog-FPGA(11)第十一周实验(2)设计一个24秒倒计时器
  • 什么是单元测试?
  • PTA-6-51(处理数组、字符串) 人口统计
  • php中使用cdn
  • docker部署MySQL5.7设置密码和远程访问的方法
  • Vue组件基础
  • Javascript每天一道算法题(十八)——矩阵置零-中等
  • 基于ROS开发的开源项目