【软考:程序员(01)】如何考得程序员证书?本片知识点:操作系统基本概念、操作系统的分类、进程管理、三态模型、信号量机制、同步与互斥模型

操作系统基本概念

  • 操作系统:

    组织和管理软件、硬件资源以及计算机系统中的工作流程,并控制程序的执行,向用户提供接口。

操作系统的五大部分

  1. 进程管理:进程控制、进程同步、进程通信、进程调度
  2. 文件管理:文件存储空间管理、目录管理、文件的读写管理、存取控制
  3. 存储管理:存储分配与回收、存储保护、地址映射、贮存扩充
  4. 设备管理:对硬件设备管理,对输入输出设备的分配、启动、完成和回收
  5. 作业管理:任务、界面管理,人机交互、图形界面、语音控制、虚拟现实

只有有了操作系统,用户才有了可以交互的界面

操作系统的分类

操作系统
批处理操作系统
分时操作系统
实时操作系统
网络操作系统
分布式操作系统
微机操作系统
嵌入式操作系统

批处理操作系统

  • 单道批:

    一次一个作业入内存,作业由程序、数据、作业说明书组成

  • 多道批:

    一次多个作业入内存,特点:多道、宏观上并行 微观上串行

按照顺序依次处理指令

分时操作系统

把时间进行分割

  • 采用时间片轮转的方式为多个用户提供服务,每个用户感觉独占系统

特点:

  • 多路性、独立性、交互性和及时性

实时操作系统

实时控制系统和实时信息系统

  • 实时控制系统

交互能力要求不高,可靠性要求高

设备两端精准度要求高、延迟性低

  • 实时信息系统

网络操作系统

方便有效共享网络资源,提供服务软件和有关协议的集合

主要的网络操作系统由:Unix、Linux和Windows server系统

分布式操作系统

任意两台计算机可以通过通信交换信息

是网络操作系统系统的更高级形式,具有透明性、可靠性和高性能等特性

微机操作系统

Windows:

  • Microsoft开发的图形用户界面、多任务、多线程操作系统

Linux:

  • 免费使用和自由传播的类Unix操作系统,多用户、多任务、多现场和多CPU的操作系统

嵌入式操作系统

运行在智能芯片环境中

特点:

  • 微型化、可定制、实时性、可靠性、易移植性

用例:微波炉、电视机、冰箱等,运行在智能芯片基础上的设备

进程管理

进程的三态模型

进程管理(处理机管理):

  • 在计算机系统中资源分配和独立运行的基本单位
状态 说明
运行 进程在处理及上运行。 单处理系统,处于运行状态的进程只能是一个。
就绪 进程获得了除处理及意外的一切所需资源,一旦未得到处理机即可运行
等待 也叫等待或睡眠状态,一个进程正在等到某一事件的发生而暂停停止运行

信号量机制

信号量S

  • 整型变量,根据控制对象进行复制

S>=0表示资源可用数

n:n个资源

m:m个进程

n-m = r 范围;如果结果r<0,则表示有|r|个进程程序需要排队等待

死锁

多个进行在运行过程中因争夺资源而造成的一种僵局

  • 当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进

同步和互斥

进程通信:

  • 各个进程交换信息的过程

分类:

  • 同步(直接制约)、互斥(申请临界资源简介制约)

同步

当同时有多个进程需要执行任务,这就会产生执行任务时间不同步

  • 先抵达处理器的进程任务经过等待其他线程任务来到处理器执行
  • 这样就可以多个任务一同进入处理器

互斥

当同时有多个进程需要执行任务,这就会产生,进程之间没有进行同步操作

  • 彼此进程之间不会相互等待

申请释放

P:申请一个资源

V:释放一个资源

S:信号数量(S并不是一个具体含义)

每次执行P或V操作都会进行对应的S-1和S+1操作;

  • 只有符合对应判断标准才会阻塞进入进程队列

互斥模型

多进程共享一台打印机

P(S):使用打印机

V(S):执行后续代码

互斥信号量S的初始值为1

打印机一次只能执行一个进程

  • P和V操作是配套的

流程:

  1. 进程A首先申请处理资源
  2. 若申请处理资源成功,则直接进入处理
  3. 申请处理资源不成功,将任务放入阻塞队列进行等待,跟随队列执行顺序进入处理

同步模型

单缓冲区生产者、消费者问题

💕👉博客专栏

相关推荐
用户99045017780092 小时前
AI看手相
程序员
xiezhr3 小时前
程序员和产品经理的相爱相杀
程序员
快乐非自愿7 小时前
RAG夺命10连问,你能抗住第几问?
人工智能·面试·程序员
魔术师Grace11 小时前
我给 AI 做了场入职培训
前端·程序员
小兵张健14 小时前
30天减20斤挑战:少一斤发100红包(4)
程序员
两万五千个小时16 小时前
为什么你的 Agent 读了文件,却好像什么都没读到?
人工智能·程序员·架构
老王以为19 小时前
前端视角下的 Java
java·javascript·程序员
@insist12320 小时前
信息安全工程师-密码学专题(下):构建可信网络空间的核心机制
java·大数据·密码学·软考·信息安全工程师·软件水平考试
@insist1231 天前
信息安全工程师核心考点:物理与环境安全(上篇)
安全·软考·信息安全工程师·软件水平考试
a里啊里啊1 天前
软考-软件评测师:知识点整理(七)——软件工程
设计模式·软件工程·软考·uml·结构化开发·软件评测师·软件模型