操作系统的基本概念

news2024/10/6 6:45:44

文章目录

  • 一、操作系统的概念
    • 1.什么是操作系统?
    • 2 计算机系统的构成
    • 3 系统软件的概念
    • 4 操作系统的主要作用
  • 二、操作系统目标和功能
    • 1. 目标
      • 1.1 有效性
      • 1.2 方便性
      • 1.3 可扩充性
      • 1.4 开放性
    • 2. 功能
      • 2.1 作为系统资源的管理者
      • 2.2 作为用户与计算机[硬件系统]之间的接口
      • 2.3 实现了最计算机资源的抽象
  • 三、操作系统的特征
    • 1. OS的并发性(Concurrence)
    • 2. OS的共享性(Sharing)
    • 3. OS的虚拟技术(Virtual)
    • 4. OS的异步性(Asynchronism)

一、操作系统的概念

1.什么是操作系统?

操作系统(Operation System),简称OS,是管理计算机 【硬件】 与 【软件】 资源的计 算机程序。
计算机系统的发展

2 计算机系统的构成

  • 用户
  • 应用程序
  • 操作系统(OS)
  • 硬件(裸机)

操作系统向上管理软件,向下管理硬件,并向用户提供访问访问方式(接口),操作系统向应用程序也提供了接口,在计算机系统中起到了承上启下的作用
计算机系统架构图

3 系统软件的概念

OS是一种【系统软件】

  • 与硬件交互
  • 对资源共享进行调度
  • 解决并发操作处理中存在协调问题
  • 数据结构复杂,外部接口多样化,便于用户反复使用

4 操作系统的主要作用

作为【系统软件】,OS做了哪些事

  • 管理与配置内存
  • 决定系统资源供需的优先次序
  • 控制输入设备与输出设备
  • 操作网络与管理文件系统等基本事务
  • 提供一个让用户与系统交互的操作界面

二、操作系统目标和功能

1. 目标

1.1 有效性

管理系统资源

  • 提高系统资源利用率
  • 提高系统的吞吐量

1.2 方便性

方便用户使用

1.3 可扩充性

作为扩充机器
兼容硬件升级与扩充

1.4 开放性

支持软件获取和调用系统资源
兼容不同的软件硬件标准

2. 功能

2.1 作为系统资源的管理者

1) 处理机(处理器)管理

  • 进程控制
  • 进程同步
  • 进程通信
  • 调度

2) 存储器管理

  • 内存分配
  • 内存保护
  • 地址映射
  • 内存扩充

3) I/O设备管理

  • 缓冲管理
  • 设备分配
  • 设备处理

4) 文件管理

  • 文件存储空间的管理
  • 目录管理
  • 文件读/写管理和保护

2.2 作为用户与计算机[硬件系统]之间的接口

  • 程序接口(应用程序访问操作系统的接口,操作系统再去访问硬件)
  • 命令接口(用户可以直接使用命令操作操作系统)
  • GUI(Graphical User Interface),图形用户接口

2.3 实现了最计算机资源的抽象

  • 将具体的计算机硬件资源抽象成软件资源,方便用户使用
  • 开放了简单的访问方式,隐藏了实现细节
    • 举例:使用浏览器进行搜索
      使用浏览器进行搜索的过程
    • 操作系统同时也对软件提供了简单的访问接口

三、操作系统的特征

操作系统四大基本特征

  • 并发
  • 共享
  • 虚拟
  • 异步

其中的关系图如下
并发、共享、虚拟、异步的关系图

1. OS的并发性(Concurrence)

  • 同一时间内执行和调度多个程序的能力
    • 宏观上,处理机同时执行多道程序
    • 微观上,处理机在多道程序之间高速切换(分时交替执行)
    • 关注单个处理机同一时间段内处理任务数量的能力

相似概念:并行

  • 并发: 同一时间间隔内(时间段)发生的事件数量
    • 例如:午餐时段,学校餐厅用餐总人数为12人
  • 并行:同一时刻(时间点)发生的事件数量
    • 例如:同一时间点,学校餐厅最多并行3人打餐

并发和并行都可以提高系统的吞吐量,但是并发还可以提高系统资源利用率,通过后期优化调度算法可以提高系统的并发能力,进而使系统资源利用率进一步提高,可以在不加大硬件投入的情况下提高系统性能,所以大部分场景下并发能力更加重要,而对于计算密集型任务来说,每个任务都会长时间占用单个处理机,并且也没有什么算法优化的余地,这种情况下想要提高系统总体的性能,就需要去添加物理机硬件

2. OS的共享性(Sharing)

即资源共享,系统中的资源供多个【并发执行】的应用程序共同使用

  • 同时访问方式:同一时段允许多个程序同时访问共享资源
  • 互斥共享方式:也叫独占式,允许多个程序在同一个共享资源上独立工作而互不干扰的方式

共享设备:共享打印机、音频设备、视频设备

并发和共享互为存在条件

  • 共享性要求OS中同时运行着多道程序

    • 若只有单道程序正在运行,则不存在共享的可能
  • 并发性难以避免的导致多道程序同时访问同一个资源

    • 若多道程序无法共享部分资源(比如磁盘),则无法并发

    并发共享关系图

3. OS的虚拟技术(Virtual)

使用某种技术把一个物理实体变成多个逻辑上的对应物

  • 时分复用技术(TDM,Time Division Multiplexing)
    • 虚拟处理机技术:“四核八线程”
    • 虚拟设备技术:虚拟打印机
  • 空分复用技术(SDM:Space Division Multiplexing)
    • 虚拟磁盘技术:将一个硬盘虚拟出若干个卷
    • 虚拟存储器技术

4. OS的异步性(Asynchronism)

多道程序环境下,允许多个程序并发执行
单处理机环境下,多个程序分时交替执行

  • 程序执行的不可预知性
    • 获得运行的时机
    • 因何暂停
    • 每道程序需要多少时间
    • 不同程序的性能,比如计算多少,I/O多少
  • 宏观上“一气呵成”,微观上“走走停停”

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

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

相关文章

Linus 文件处理(一)

目录 一、前言 二、低级文件访问 1、write 2、read 3、open 4、Initial Permissions (1)umask (2)close (3)ioctl (4)第一个 copy_system.c 程序 (5&#xff…

Apache ShardingSphere(一) 基本概念介绍

文章目录一 基本介绍1.1 概述1.2 ShardingSphere JDBC1.3 ShardingSphere Proxy1.4 ShardingSphere Sidecar1.5 数据库的扩展1.5.1 向上扩展1.5.2 横向扩展1.5.2.1 读写分离1.5.2.2 垂直切分1.5.2.3 水平切分1.6 分库与分表1.6.1 水平分库1.6.2 水平分表1.6.3 垂直分库1.6.4 垂…

[iOS]使用MonkeyDev完成Hook

一、确定目标 先定个小目标,使用七猫举个例,去移除小说阅读页底部广告和章节之间的广告。 二、HOOK 1. 创建MonkeyApp项目导入砸壳包 2. 使用Reveal工具确定“底部广告”和“章末广告”的视图名称 底部广告 View Controller: Class: QMReader.YYReade…

Strassen矩阵乘法问题(Java)

Strassen矩阵乘法问题(Java) 文章目录Strassen矩阵乘法问题(Java)1、前置介绍3、代码实现4、复杂度分析5、参考资料1、前置介绍 矩阵乘法是线性代数中最常见的问题之一 ,它在数值计算中有广泛的应用。 设A和B是2个nXn…

搭建灾情快速分析系统 | Bigemap助力防灾减灾重点工作

Bigemap国产基础软件凭借自身强大的新GIS引擎技术与完善的产品链,为相关部门提供了集"灾情采集-灾情监测-灾害快速评估-应急指挥"于一体的灾害防灾减灾解决方案,搭建了灾情快速分析系统,该系统成为相关部门应对灾情的重要支撑平台。…

虚拟号码认证如何开通?

近年来,经常会接到外卖、房产中介、信用贷款等电话,让顾客不胜其扰。现在电话标记功能使用越来越普遍,可以大概了解电话“来意”,同时也会让误标记、恶意标记很方便。对于开展业务或办公司或企业的人,更加不能让自己的…

排序算法之选择排序

今天来给大家介绍一下排序算法之选择排序 选择排序:(Selection sort)是一种简单直观的排序算法,也是一种不稳定的排序方法。 选择排序的原理: 一组无序待排数组,做升序排序,我们先假定第一个…

【生成模型】Diffusion Models:概率扩散模型

---前言一、Diffusion Model 基本介绍二、生成模型对比三、直观理解Diffusion model四、形式化解析Diffusion model五、详解 Diffusion Model(数学推导)1.前向过程(扩散过程)2.逆扩散过程3.逆扩散条件概率推导4.训练损失六、训练、测试伪代码1. 训练2.测…

鲲鹏devkit编译调试工具——《sudoku》作业解析

《sudoku》作业解析 本次实验以sudoku项目为例介绍鲲鹏编译调试插件的基本使用方法 本次实验的步骤主要为 获取源码安装鲲鹏编译调试插件服务器配置进行代码同步配置配置测试任务进行编译调试 接下来我们先获取本次实验所需要的源码 获取源码 sudoku项目已经上传到github使…

stata外部命令大全(包含面板门槛、系统GMM、空间计量、Pvar、中介效应等)

1、数据来源:自主整理 2、时间跨度:无 3、区域范围:无 4、指标说明: 该些外部命令包含面板门槛、系统GMM、空间计量、pvar、中介效应等涵盖全部 以下是部分命令截图: 空间计量: 系统GMM(动…

Allure使用手册

一. 简介 Allure是一款支持多语言的测试结果可视化软件,支持Java、Python,搭配Junit、pytest等测试框架食用更香。本文主要讲解搭配Junit4。 二. 下载、安装部署 2.1 下载 百度搜索Allure2!!! 敲重点:…

基于Qlearning强化学习的倒立摆控制系统matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 强化学习通常包括两个实体agent和environment。两个实体的交互如下,在environment的statestst下,agent采取actionatat进而得到rewardrtrt 并进入statest1st1。Q-l…

【头歌实验】五、Python循环结构

文章目录>>>第1关:达依尔的麦子数任务描述案例分析相关知识for循环测试说明参考答案>>>第2关:四级单词查询任务描述案例分析相关知识如何处理文件文件打开文件循环文件关闭遍历文件测试说明第3关:出租车车费计算任务描述案…

Monaco Editor教程(十八):使用api来完成某些键盘操作,格式化,查找,显示右侧菜单等。

背景 在一般的Web IDE中,我们需要将经常用到的一些操作放到顶部操作栏里,类似语雀的文档编辑。 代码编辑器,一般也会放一些查找,格式化,撤销,恢复。有些人喜欢用快捷键来进行这些操作,但由于mo…

Packet Tracer - 配置 OSPF 高级功能

地址分配表 设备 接口 IPv4 地址 子网掩码 默认网关 R1 G0/0 172.16.1.1 255.255.255.0 不适用 S0/0/0 172.16.3.1 255.255.255.252 不适用 S0/0/1 192.168.10.5 255.255.255.252 不适用 R2 G0/0 172.16.2.1 255.255.255.0 不适用 S0/0/0 172.16.3.2 …

论文笔记: 全波形反演的无监督学习: 将 CNN 与偏微分方程做成一个环

摘要: 分享对论文的理解, 原文见 Peng Jin, Xitong Zhang, Yinpeng Chen, Sharon Xiaolei Huang, Zicheng Liu, Youzuo Lin, Unsupervised learning of full-waveform inversion: connecting CNN and partial differential equation in a loop. 论文发表于计算机方面的顶会 ICL…

(续)SSM整合之SSM整合笔记(Spring整合MyBatis)(P179-188)

一 准备工作 1 新建模块ssm com.atguigu.ssm 2 导入依赖 <packaging>war</packaging><properties><spring.version>5.3.1</spring.version> </properties><dependencies><dependency><groupId>org.springframewo…

Linux:进程(二)

文章目录前言一、环境变量1.概念2.常见环境变量3.一个疑问4.通过系统调用获取或设置环境变量二、地址空间1.引入2.分页&进程地址空间1.页表2.写时拷贝3.为什么要有地址空间总结前言 今天我们继续学习进程相关知识。 一、环境变量 1.概念 环境变量(environment variables)…

从理解路由到实现一套Router(路由)

平时在Vue项目中经常用到路由&#xff0c;但是也仅仅处于会用的层面&#xff0c;很多基础知识并不是真正的理解。于是就趁着十一”小长假“查阅了很多资料&#xff0c;总结下路由相关的知识&#xff0c;查缺不漏&#xff0c;加深自己对路由的理解。 路由 在 Web 开发过程中&a…

Redis中最简单的存储类型:String

String类型&#xff0c;也就是字符串类型&#xff0c;是Redis中最简单的存储类型。 其value是字符串&#xff0c;不过根据字符串的格式不同&#xff0c;又可以分为3类&#xff1a; string&#xff1a;普通字符串 int&#xff1a;整数类型&#xff0c;可以做自增、自减操作 f…