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

同步模型

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

💕👉博客专栏

相关推荐
小兵张健1 天前
Antigravity 403 账号可用了!!!
程序员
程序员飞哥1 天前
Block科技公司裁员四千人,竟然是因为 AI ?
人工智能·后端·程序员
我要改名叫嘟嘟1 天前
年后上班三天之后,忽然想作的一次记录
人工智能·程序员
兔丝2 天前
拒绝被“背刺”!用Python Flask打造友情链接监控工具,守护博客推广成果
程序员
CodeSheep2 天前
同事去年绩效是C,提离职领导死活不让走,后来领导私下说他走了,就没人背这个绩效了
前端·后端·程序员
小兵张健2 天前
目前最省最强用 GLM 5 + MiniMax 2.5 方案
程序员
无限大62 天前
《AI观,观AI》:AI重构工作结构,你的工作重心,该偏移了
程序员
陈随易2 天前
真的,你可以不用TypeScript
前端·后端·程序员
阿狸猿2 天前
云原生数据库
云原生·软考