【软考:程序员(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. 申请处理资源不成功,将任务放入阻塞队列进行等待,跟随队列执行顺序进入处理

同步模型

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

💕👉博客专栏

相关推荐
无限大63 小时前
数字生存03:在AI时代,如何保持工作与生活的平衡
程序员
uzong8 小时前
作为面试官,如何针对不同岗位进行合适的面试
程序员
uzong9 小时前
技术人职场个人影响力打造:技巧、路径与实战总结
程序员
uzong10 小时前
技术管理者,什么是 high level 的事情
程序员
databook14 小时前
当AI学会编程,我们还能做什么
人工智能·程序员·ai编程
两万五千个小时15 小时前
AI Agent 能力分级:从工具到 AGI
人工智能·程序员·架构
Whoami!21 小时前
〘 9-2 〙软考高项 | 第16章:项目采购管理(下)
软考·信息系统项目管理师·采购管理·合同管理
陈随易1 天前
站在普通开发者的角度,我觉得 RollCode 更像是“把 H5 交付这件事重新捋顺了”
前端·后端·程序员
文心快码BaiduComate1 天前
Comate内置模型已支持 MiniMax-M2.7!
设计模式·程序员·前端框架