首页 > 其他分享 >os_概述

os_概述

时间:2023-08-01 23:24:56浏览次数:59  
标签:os 程序 调度 并发 概述 系统 共享 OS

OS的目标和作用

其目标有以下几点:

  1. 有效性(提高利用率和吞吐率) --面向系统的
  2. 方便性(易学易用)—面向用户的
  3. 可扩充性 (层次化和模块化结构)
  4. 开放性 (兼容和互连)--遵循统一的标准
  5. 安全性

作用:

  1. OS作为用户与计算机硬件系统之间的接口 (OS是一个系统软件,因而这种接口是软件接口)
  2. OS作为计算机系统资源的管理者 (资源分为四类:处理器、存储器、 I/O设备以及信 息(数据和程序))。
  3. OS用作扩充机器 (通常把覆盖了软件的机器称为扩充机器或虚机器。)

接口方式:命令方式、系统调用方式、图形窗口方式

批处理系统

单道批处理系统

提高系统资源利用率 -> 尽量让系统资源(CPU)连续被使用。

主要特征:

  1. 自动性
  2. 顺序性
  3. 单道性 (内存最多只有一个作业驻留

多道批处理系统

后备队列:在该系统中, 用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列” ;

作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种 资源

多道的含义:同一时刻,内存中同时驻留多个作业。

多道的好处:

  1. 有效的、全面提高资源利用率 (CPU
  2. 可提高内存和I/O设备利用率
  3. 增加系统的吞吐量

多道批处理系统的特征:

  1. 多道性
  2. 无序性 (调度顺序 不等于 完成顺序)
  3. 调度性 (作业调度 + 进程调度)

多道批处理系统的优缺点:

  1. 资源利用率高
  2. 系统吞吐量大
  3. 平均周转时间长
  4. 无交互能力 (一旦作业被提交,直到它运行完毕,用户无法干预。)

分时系统

分时系统是在多道环境中,增加了人机交互能力。

用户交互的需求,主要表现如下方面:

  1. 人机交互:人可以随时使用计算机,干预作业。
  2. 共享主机:用户需求+系统需求
  3. 方便用户上机:催生了操作系统的命令接口。

时间片:将一小段时间平均分成若干个非常小的时间段

最简单的分时系统:以时间片为单位轮转的方式进行运行。

特征:

  1. 多路性/同时性 -> 分时并发
  2. 分时并发 -> 交互性
  3. 独立性
  4. 及时性

实时系统

实时系统:系统能及时(或即时)响应外部事件的请求--在规定的时间内完成对该事件的处理,

实时系统程序运行也采用分时时间片的 方式。但是,为了保证紧迫任务能够及时的被处理,在实时系统中,可以根据任务的重要程度、紧迫程度为程序设定优先级。优先级高的程序优先获得CPU,而不是完全按照分时轮转的方式调度。从而保证实时任务的处理

OS基本特征

并发

并发性是指两个或多个事件在同一时间间隔内发生。

特征:

  1. 在微观上(一个时间点)呈现顺序性,在宏观上 (一段时间)呈现同时性。
  2. 并发的本质是顺序性。
  3. 在微观上的顺序性,即可能无序交替执行,也可能分时地交替执行。

并行性是指两个或多个事件在同一时刻发生;

并发是微观上顺序性,宏观上同时性。并行是微观和宏观都具有同时性。

共享

同时共享

一个资源可以同时被多个程序访问或使用。 (多个程序可以同时使用一个只读文 件。)

互斥共享或独占共享

一个资源的使用具有排他性,一段时间, 只允许一个程序独占使用;(CPU)

并发和共享是操作系统的两个最基本的特征。它们又是互为存在的条件。

虚拟

并发执行的程序共享系统的资源,会使得用户在感觉上事物与实际使用情况不一样。这种用户的感觉效果称之为:虚拟。

os中的虚拟:指通过某种技术把一个物理实体变为若干个逻辑上的对应物。

异步性

并发运行的程序,共享着系统的所有资源。这意味着:一个程序在执行过程中,资源并不可能及时的获得满足。当它需要某种资源而不能得到满足时,它只能停下来等待; 只有获得满足当前条件的资源,它才能继续运行下去。

进程是以人们不可预知的速度向前推进,此即为进程的异步性(不确定性、随机性)。

这种情况在多道环境是普遍存在的!

虽然,并发执行的程序具有异步性,但是只要运行环境相同,程序经过多次执行,都会获得完全相同的结果。

OS运行机制

1.两种指令:
特权指令:如内存清零指令,不允许用户程序使用
非特权指令:如普通的运算指令
2.两种处理器状态(由程序状态寄存器psw保存)
用户态(目态):只能执行非特权指令
核心态(管态):特权、非特权指令都能执行
3.两种程序:
内核程序:运行在核心态,可以执行特权和非特权指令
应用程序:只能执行非特权

OS主要功能

进程管理

包括:进程的创建、撤销、状态转换

进程同步

并发执行的进程是无序的、异步推进的,这种异步性解决不了很多问题,比如:具有协作关系的多个进程的执行顺序必须要固定。对于排他性资源的访问,必须保证以互斥的方式进行。

处理机调度

调度的分类—三级调度体系

调度算法

内存管理

内存分配:

  1. 早期的连续分配方式:静态、动态
  2. 现代的离散分配方式:分页、分段、段页式

虚拟存储管理

离散存储管理分配、运行时装入技术

请求调入功能和置换功能

设备管理

文件管理

标签:os,程序,调度,并发,概述,系统,共享,OS
From: https://www.cnblogs.com/hyx-blue/p/17599399.html

相关文章

  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • macOS 虚拟桌面黑屏(转)
    转自:macOS重置虚拟桌面、macOS虚拟桌面黑屏有几次出现如图的情况,以为是iTerm的问题,但是在关闭软件,重启之后,依旧无效。后面经过网友告知,才知道是虚拟桌面的问题。为了清理这个问题,有以下两种方法法一:在终端输入以下命令,会删除虚拟桌面文件,以及重启电脑sudorm~/Library/Pr......
  • centos7.9 部署elasticsearch 7.17.8 集群
    准备基本环境名称ip地址cpu内存es监听端口redis-65110.0.2.18c64G9200redis-65210.0.2.28c64G9200redis-65310.0.2.38c64G9200搭建集群10.0.2.1主机配置基本环境#更新hosts文件cat/etc/hosts10.0.2.1 es-node-110.0.2.2 es-node-21......
  • JPA实体类映射PostgreSQL中的jsonb字段
    前言有时候我们需要在PostgreSQL表中存储jsonb类型的数据,JPA实体类中如何定义这个属性与之对应呢?本篇介绍两种方式:①自定义数据库方言和自定义类型②引入hibernate-types依赖方式一自定义数据库方言和自定义类型自定义方言publicclassCustomPostgreSqlDialect......
  • 21 os/sys/json/subprocess模块
    os模块使用前老规矩:加上importos1.创建目录(文件夹)makedirsos.mkdir(r'aaa')#在os所在的路径下创建一个aaa文件夹(只能创建一个单级目录)os.makedir((r'ccc')os.makedirs(r'bbb/ccc/ddd')#makedirs支持创建多级目录2.删除目录(文件夹)removediros.rmdir(r'aaa')#可......
  • 解决在macOS系统上使用rust-gdb调式rust代码时无法进入断点的问题
        问题title缩写,主要原因是gdb无法在cargo生成可执行文件和符号信息关联起来,类型信息如下图:  解决方案:在Cargo.toml文件中添加一项配置,所以能找到符号信息. 配置信息说明:1. profile.dev或者profile.release是用cargobuild进行编译时使用到的配置......
  • Github - Clone a Github repository using Github CLI
    Step1:InstallGithubCLIfollowingtheinstructionsprovidedonpagehttps://github.com/cli/cli#installation.Step2:Run'ghauthlogin'tologin.Step3:Run'hrepoclonehttps://github.com/XXXX/repo.git'toclonearepository.......
  • 留存测试数据,Apipost接口用例详解
    接口用例可以在不影响源接口数据的情况下对接口添加多个用例,方便测试并保存测试数据。创建用例左侧目录选择接口后进入接口用例页面,点击添加用例  在弹出窗口中修改各种参数。如登录接口,可修改用户名为空,并添加断言。  执行用例点击确定后生成一条测试用例,点击执行......
  • 如何在Windows上将iOS应用上传到App Store
     ApplicationUploaderiOSApp上架工具是一款非常好用的针对iOS苹果应用程序软件开发的实用编程工具,它的主要作用是帮助用户进行快速的程序应用设计和程序应用调试,节省用户进行软件开发耗费的不必要时间!​编辑切换为居中添加图片注释,不超过140字(可选......
  • windows如何上架ios应用到app store
    windows如何上架ios应用到appstoreApplicationUploaderiOSApp上架工具是一款非常好用的针对iOS苹果应用程序软件开发的实用编程工具,它的主要作用是帮助用户进行快速的程序应用设计和程序应用调试,节省用户进行软件开发耗费的不必要时间!​编辑切换为居中......