软件评测师:操作系统基础知识(一)

文章目录

  • 软件评测师:操作系统基础知识(一)
  • 前言
  • 一、操作系统概述
    • 1、操作系统的位置
    • 2、操作系统的作用
    • 3、操作系统的分类
  • 二、P、V、S机制
    • 1、基础概念
    • 2、P、S、V操作
    • 3、典型
    • 4、判断同步资源还是互斥资源:
    • 5、消费者生产者同步
  • 三、三态模型
    • 1、三态模型概念
  • 四、死锁
    • 1、概念
    • 2、死锁条件
    • 3、死锁的预防和避免
  • 五、进程资源图
  • 文件多层结构
  • 位示图
  • 存储管理

前言

开始学习操作系统基础知识

一、操作系统概述

1、操作系统的位置

应用软件
其他系统软件: 数据库系统、编译软件、驱动程序
操作系统
硬件

2、操作系统的作用

  • 管理软硬件资源
  • 改善人机交互

3、操作系统的分类

  • 批处理操作系统
  • 分时操作系统
  • 实时操作系统
  • 网络操作系统
  • 分布式操作系统 --地理位置分散,网络操作系统的更高级别
  • 嵌入式操作系统

二、P、V、S机制

1、基础概念

  • 进程:程序在数据集合上的运行过程,系统进行数据分配和调度的单位
  • 进程控制:进程从创建到销毁的整个过程的管理,由操作系统内核原语负责
  • 原语:所谓原语,一般是指由若干条指令组成的程序段,用来实现某个特定功能,在执行过程中不可被中断
  • 互斥:在同一时刻某一资源只允许一个进程访问(间接制约关系)
  • 同步:进程之间的协作关系(直接制约关系)
  • 临界资源:同一时刻只允许一个进程使用的资源(也称为互斥资源,可以有多个互斥资源)
  • 临界区:代码

2、P、S、V操作

  • 信号量:可用资源数量
  • 共用信号量:互斥模型,对应着互斥资源的数量
  • 私用信号量:同步模型,不定
  • 信号量为负:绝对值表示在队列中排队等待资源的进程数量
  • P操作:申请操作,使信号量-1,如果执行P操作之后S<0,意味系统没有资源分配给这个进程,标明进程需要进入队列中排队等待
  • V操作:释放操作,使信号量+1,如果执行V操作之后,如果S<=0,标明队列中有进程排队等待

3、典型

典型互斥模型:多人共享打印机
典型同步模型:消费者生产者模式

PV必须成对出现,否则容易出现死锁

4、判断同步资源还是互斥资源:

如果在某一程序段中,PV操作成对出现,且针对同一资源(即同一信号量S),则为互斥资源

5、消费者生产者同步

生产者——》市场——》消费者

消费者先行:消费者P操作用来判断市场上有没有产品,正常情况下消费者先行时,市场上没有产品,故S2=0,消费者执行P操作后,S2=-1,等待资源;直到市场上存在资源

三、三态模型

1、三态模型概念

在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化。进程一般有3种基本状态:运行、就绪和阻塞。

(1)运行:进程正在运行,获取到cpu资源
(2)就绪:程序已经准备到位,只欠东风。东风即cpu资源。
(3)阻塞:等待或睡眠。程序等待用户输入或外设输入,即使此时获取cpu资源,也无法运行

什么情况下进程会进入阻塞状态?
引起阻塞的原因是缺乏运行的条件
P操作,申请资源操作,如果此时资源不足,可能导致程序不具备运行的条件。故状态变化为:运行态——》阻塞态

四、死锁

1、概念

两个或两个以上进程,需要占用同一资源且不释放的情况

2、死锁条件

  • 资源是互斥的
  • 保持和等待
  • 不剥夺
  • 环路等待

3、死锁的预防和避免

打破四大条件

  • 银行家算法:安全状态
  • 有序资源分配法

不会引起死锁的最小资源数
假设每个进程需要n个资源,如果有m个进程,如果此时系统资源给每个进程分配资源后仍剩一个资源,则系统此时是不会产生死锁的。故不会引起死锁的最小资源数为:
(n-1)*m + 1

安全序列

五、进程资源图

文件多层结构

绝对路径和相对路径

位示图

存储管理

软件评测师:操作系统基础知识(一)相关推荐

  1. 软件评测师——软件工程基础知识2

    例题1 软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是 (1) . (1)A. 构件化方法 B. 结构化方法 C. 面向对象方法 D. 快速原型方法 参考答案:瀑 ...

  2. Linux操作系统基础知识学习

    Q1.什么是GNU?Linux与GNU有什么关系? A: 1)GNU是GNU is Not Unix的递归缩写,是自由软件基金会(Free Software Foundation,FSF)的一个项目, ...

  3. 百万调音师—音频基础知识

    百万调音师-音频基础知识 音频基本属性 1).音频理论 2).音频格式 3).音频声道 声音如何传输到电脑? 模拟信号 数字信号 脉冲编码调制 1).滤波 2).采样 3).量化 4).编码 分贝 音 ...

  4. 计算机的基础操作知识试题,[计算机基本操作知识]计算机操作系统基础知识试题...

    计算机操作系统是电子计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,那么你对计算机操作系统了解多少呢?以下是由答 案 网 ZqNF.Com小编整理关于计算机操作系统基础知识试题的内容, ...

  5. 计算机和操作系统基础知识

    -----------------------siwuxie095 计算机和操作系统基础知识 1.操作系统(Operating System,简称 OS),是管理计算机硬件与 软件资源的计算机程序,同 ...

  6. 软考 程序员教程-第二章 操作系统基础知识

    软考 程序员教程-第二章 操作系统基础知识 第二章 操作系统基础知识 2.1.操作系统概述(第四版教程P44) 操作系统的4个特征:并发性.共享性.虚拟性.不确定性. 操作系统的5个功能:处理机管理. ...

  7. Linux(一)操作系统基础知识

    Linux操作系统基础知识 1.Linux简介与程序开发环境 1.1 什么是Linux? Linux是一个可以自由发布的类UNIX内核实现,它是一个操作系统的底层核心.Linux是由芬兰赫尔辛基大学的 ...

  8. 视频教程-2020年软考信息系统项目管理师考试基础知识(下)新考纲视频培训课程-软考

    2020年软考信息系统项目管理师考试基础知识(下)新考纲视频培训课程 10年以上软考培训经验,线下培训学员过万人.培训过的课程有:网络规划设计师.网络工程师.信 息系统项目管理师.系统集成项目管理师. ...

  9. 只要你认真看完一万字☀️Linux操作系统基础知识☀️分分钟钟都吊打面试官《❤️记得收藏❤️》

    只要你认真看完一万字☀️Linux操作系统基础知识☀️分分钟钟都吊打面试官<❤️记得收藏❤️> 目录

最新文章

  1. Primary VLAN
  2. Sinew Ex深度发掘金融衍生品市场价值
  3. 难点电路详解之负反馈放大器电路(1)
  4. Mac普通用户修改了/etc/sudoers文件的解决办法
  5. linux操作系统中查找某个进程,在linux下查看有哪些操作系统进程正在使用某一个共享内存段...
  6. linux pcl 转图片,PCL转图片工具Mgosoft PCL To Image Converter
  7. 通过8个技巧让你成为一个超强的Linux终端用户
  8. 2021年上半年系统集成项目管理工程师综合知识真题及答案解析
  9. java 的 provider_Java Provider.Service getProvider()用法及代码示例
  10. 华为管理学案例分析_管理学论文5000字如何高质量写作
  11. linux手术后10年,经历正颌手术10年后遗症的我想说40岁做正颌手术我很后悔
  12. tomcat如何设置账号和密码
  13. 深度装机大师一键重装_deep深度装机大师一键安装Win10 64位旗舰版
  14. 电子报纸的分析即制作
  15. 三维建模软件有哪些?超详细三维建模软件介绍
  16. python柱状图颜色_echarts柱状图,改变柱状颜色
  17. yy服务器维护,挂yy服务器
  18. 今日头条竖屏视频没有收益吗,今日头条竖版视频没收益怎么回事
  19. Python 爬虫、抓包
  20. Python分布式通用爬虫(4)

热门文章

  1. [Luogu P4292] [BZOJ 1758] [WC2010]重建计划
  2. iOS开发-审核被拒原因总结[持续更新]
  3. python3结果窗口打开_python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法...
  4. win2003上不能与iphone同步问题解决
  5. 如何打开已经 force-push 的 PR (branch was force-pushed or recreated)
  6. git同步本地与远程代码命令
  7. Matlab中布尔值/逻辑值与数值型类型的相互转换
  8. Java 面试问题总结(详细) —— MySql 模块(MySQL高级)(建议收藏)
  9. 运行无法打开计算机策略,win10系统电脑本地组策略打不开无法运行的技巧
  10. 火星人学习第一周——虚幻引擎基础应用笔记