操作系统的学习(一)

2023-11-15

一.操作系统的演进

1.无操作系统

  • 人工操作
  • 用户独占
  • cpu等待人工操作
  • 资源利用率很低

2.批处理系统

  • 无需人工等待
  • 批量输入任务
  • 资源利用率提升
  • 多道程序设计

3.分时系统

  • 人-机交互
  • 多用户共享
  • 及时调试
  • 资源利用率提升

4.多道程序的设计

  • 早期批处理系统只能一次处理一个任务
  • 多道程序设计使得批处理系统可以一次处理多个任务
  • 多道程序设计:
  • 多道程序设计是指在计算机内存中间同时存放多个程序
  • 多道程序在计算机的管理程序之下相互穿插进行

5.五大功能

  • 进程管理
  • 存储管理
  • 作业管理
  • 文件管理
  • 设备管理

二.操作系统概览

1.什么是操作系统呢?

  • 操作系统是管理计算机硬件和软件资源的计算机程序
  • 管理配置内存,决定资源供需顺序,控制输入输出设备等
  • 操作系统提供让用户和系统交互的操作界面
  • 管理硬件提供用户交互的软件系统

2.操作系统分类

  • Android:MIUI,ColorOS,Flyme
  • Linux:Centos,Ubuntu
  • 华为:鸿蒙

3.操作系统存在原因

  • 我们不能直接操作计算机硬件
  • 设备种类繁多复杂,需要统一界面
  • 操作系统的简易性

4.操作系统的基本功能

  • 处理器资源:cpu
  • 存储器资源:内存,磁盘
  • io资源
  • 文件资源

5.操作系统相关概念

  • 并发性
  • 共享性
  • 虚拟性
  • 异步性
什么是并发和并行?
  • 并行指两个或多个事件可以在同一个时刻发生
  • 并发是指两个或多个事件可以在同一个时间间隔发生
  • 并行:在8:00时刻张三在学习,李四在洗澡,这个属于同一时刻发生的事
  • 并发:在8:00时候李四看了会历史书,8:05时候看了数学书,那么这个属于在一个时间段发生的事
  • 在操作系统中实现:
    单处理器:多个程序交替执行,实现并发,单个处理器中只能实现并发
    多个处理器:多个处理器上的程序一起执行,但是对于一个处理器多核的话也可以实现并行,但是对于单核处理器来说还是以并发执行
什么是共享性?
  • 共享性表现为操作系统中的资源可供多个并发的程序共同使用
  • 这种共同使用的形式称之为资源共享
  • 多个程序可以同时使用主存资源
  • 资源共享根据属性可分为两种方式:互斥共享形式,同时访问形式在这里插入图片描述
什么是虚拟性?
  • 虚拟性表现为把一个物理实体转变为若干个逻辑实体
  • 物理实体是真实存在的,逻辑实体是虚拟的
  • 虚拟的技术要有时分复用技术和空分复用技术
  • 时分复用:资源在时间上进行复用,不同的程序并发使用,多道程序分时使用计算机的硬件资源,提高资源利用率
  • 空分复用:空分复用技术用来实现虚拟磁盘,虚拟内存等,提高资源利用率
什么是异步性?
  • 在多道程序环境下,允许多个进程并发执行
  • 进程在使用资源时可能需要等待或放弃
  • 进程的执行并不是一气呵成的,而是以走走停停的形式推进的
为什么需要进程?
  • 进程是系统进行资源分配和调度的基本单位
  • 进程作为程序独立运行的载体保证程序正常执行
  • 进程的存在使得操作系统资源的利用率大幅提升
进程的实体?
  • 进程控制块在这里插入图片描述
  • 线程和进程区别:
  • 在这里插入图片描述
进程管理之五状态模型?
  • 就绪状态:当进餐被分配到除cpu之外所有必要的资源后
  • 只要再获得cpu的使用权,就可以立即运行
  • 其他资源都准备好,只差cpu资源的状态就为就绪状态
  • 执行状态:进程获得cpu,其他程序正在执行状态
  • 在单处理机中,在某个时刻只能有一个进程是处于执行状态的
  • 阻塞状态:进程因某种原因如:其他设备未就绪而无法继续执行
  • 从而放弃cpu的状态称为阻塞状态
状态间切换?(还有创建和终止 )
  • 创建进程时拥有PCB但其他资源尚未就绪的状态称为创建状态。
  • 进程结束由系统清理或者归还PCB的状态称为终止状态。
    在这里插入图片描述
为什么需要进程间的同步?
  • 生产者-消费者模型
    在这里插入图片描述

  • 生产者往缓冲区+1

  • 消费者往缓冲区-1

  • 缓冲区在cache(在高速缓存中)

  • 操作缓冲需要三个步骤
    (1)把缓冲区中的数据拿出来到寄存器中
    (2)然后寄存器进行+1
    (3)然后再把寄存器中的值写回到缓冲区

  • 哲学家进餐问题

  • (1)正常情况:拿起左边筷子,发现右边筷子被拿了。等待右边筷子释放,拿起右边筷子,进餐

  • (2)假设五个哲学家同时拿起左边的筷子(造成死锁 )

这两个问题根源:
  • 彼此间没有通信
  • 需要进程间的同步
进程同步原则?

在这里插入图片描述

  • 空则让进:资源无占用,允许使用
  • 忙则等待:资源有占用,请求进程等待
  • 有限等待:保证有限等待时间能够使用资源
  • 让权等待:等待时,进程需要让出CPU
  • 进程间同步的方法:消息队列,共享存储,信号量
线程同步?
  • 线程同步方法:
  • (1)互斥量
  • (2)读写锁
  • (3)自旋锁
  • (4)条件变量
linux进程的相关概念?
  • 进程类型:
  • (1)前台进程:优先级高需要和用户交互
  • (2)后台进程:优先级低
  • (3)守护进程:守护进程是特殊的后台进程,很多守护进程在系统引导时候就启动,一直运行到系统关闭。(crond sshd httpd mysqld)
进程的标记?
  • 进程ID是进程的唯一标记,每个进程拥有不同的ID
  • 进程ID表现为一个非负整数,最大值由操作系统限定在这里插入图片描述

在这里插入图片描述

linux进程相关命令?
  • ps命令:ps命令常用于显示当前进程的状态,ps命令常配合aux参数或ef参数和grep命令检索特定进程
  • top命令;操作系统使用内存状态
  • kill命令: kill -9 进程id关闭信号,给特定的线程发送信号,kill -l可以查看操作系统支持的信号,使用9信号无条件终止
作业管理之进程的调度?
  • 进程调度概述:进程调度是指计算机通过决策决定哪个就绪进程可以获得cpu使用

  • (1)保留就进程的运行信息,请出旧进程

  • (2)选择新进程,准备运行环境并分配cpu

  • 调度机制:
    (1)就绪队列的排队机制:按照一定方式排成队列,以便调度程序可以最快找到就绪进程
    (2)选择运行进程的委派机制:调度程序以一定的策略选择就绪进程,将cpu资源分配给它
    (3)新老进程的上下文切换机制:保存当前进程上下文信息,装入被委派执行进程的运行上下文

  • 非抢占式调度:
    (1)处理器一旦分配给某个进程,就让该进程一直使用下去
    (2)调度程序不以任何原因抢占正在被使用的处理器
    (3)直到进程完成工作或因为IO阻塞才会让出处理器。

  • 抢占式调度
    (1)允许调度程序以一定的策略暂停当前运行的进程
    (2)保存好旧进程的上下文信息,分配处理器给新进程在这里插入图片描述

  • 进程调度算法
    (1)先来先服务调度算法:优先取出来的进程
    (2)短进程优先调度算法: 调度程序优先选择就绪队列中估计运行时间最短的进程,不利于长进程使用
    (3)高优先权优先调度算法:进程附带优先权,调度程序优先选择权重高的进程,高优先权优先调度算法使得紧迫的任务可以优先处理。
    (4)时间片轮转调度算法: 按先来先服务的原则排列就绪进程,每次从队列头部取出待执行进程,分配一个时间片执行,是相对公平的调度算法,但不能及时响应用户。

作业管理之死锁?在这里插入图片描述
  • 死锁产生?

    • 竞争资源
      (1)共享资源数量不满足各个进程需求
      (2)各个进程之间发生资源争抢导致死锁
      在这里插入图片描述
  • 进程调度顺序不当在这里插入图片描述

  • 死锁产生的必要条件?
    (1)互斥条件:进程对资源的使用是排他性的使用,某资源只能由一个进程使用,其他进程需要使用只能等待
    (2)请求保持条件:进程至少保持一个资源,又提出新的资源请求。新资源被占用,请求被阻塞。被阻塞的进程不释放自己保持的资源。
    (3)不可剥夺条件:进程获得的资源在未完成使用前不能被剥夺。获得的资源只能由进程自身释放
    (4)环路等待条件:发生死锁时,必然存在进程-资源环形链。

  • 预防死锁的方法?
    (1)摒弃请求保持条件,系统规定进程运行之前,一次性申请所有需要的资源。
    进程在运行期间不会提出资源请求,从而摒弃请求保持条件。
    (2)摒弃不可剥夺的条件:当一个进程请求新的资源得不到满足时,必须释放占有的资源。
    进程运行时占有的资源可以被释放,意味着可以被剥夺。
    (3)摒弃环路等待条件,可用资源线性排序,申请必须按照需要递增申请。
    线性申请不再形成环路,从而摒弃环路等待条件。

  • 银行家算法?
    (1)是一个可操作的著名的避免死锁的算法
    (2)以银行借贷系统分配策略为基础的算法。在这里插入图片描述

(3)需要三个表已分配的表,所需表,可分配表

什么是原子性?
  • 原子性是指一系列操作不可被中断的特性

  • 这一系列操作要么全部执行完成,要么全部没有执行

  • 不存在部分执行部分执行的情况

    线程同步之互斥量?
  • 互斥量是最简单的线程同步方法

  • 互斥量(互斥锁),处于两态之一的变量:解锁和加锁

  • 两个状态可以保证资源访问的串行

  • 操作系统提供了API完成资源的加锁,解锁操作,c语言提供的是pthread_mutex_t

线程同步之自旋锁?
  • 在这里插入图片描述
线程同步之自旋锁的优点?
  • 自旋锁避免了进程和线程上下文开销
  • 操作系统内部很多地方使用的是自旋锁
  • 自旋锁不适合在单核cpu使用
线程同步之读写锁?(适用多读少写)
  • 读写锁是一种特殊的自旋锁
  • 允许多个读者同时访问资源以提高读性能
  • 对于写操作则是互斥的
线程同步锁?
  • mutex lock(互斥锁)
  • rwlock_rdlock(读写锁)
线程同步之条件变量?
  • wait-notify在这里插入图片描述
线程同步方法总结?在这里插入图片描述
使用fork创建进程?在这里插入图片描述

fork函数返回两次
在这里插入图片描述

进程同步的方法?
  • 进程中的线程是共享进程中的资源
  • 进程是共享计算机资源的
  • 共享内存在这里插入图片描述

在这里插入图片描述

使用共享内存的步骤?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

进程同步之Unix域套接字?

在这里插入图片描述

服务端和客户端
在这里插入图片描述

存储管理之内存分配与回收
  • 单一连续分配
    (1)单一连续分配是最简单分配方式。
    (2)只能在单用户,单进程的操作系统中使用在这里插入图片描述

  • 固定分区分配
    (1)固定分区是支持多道程序的最简单存储分配方式。
    (2)内存空间被划分为若干固定大小的分区
    (3)每个分区提供给一个程序使用,互不干扰。在这里插入图片描述

  • 动态分区分配?
    (1)动态分区空闲表数据结构
    (2)动态分区空闲链数据结构(双向链表)动态分区是把临近节点和起来,节点需记录可存储的容量。
    在这里插入图片描述
    (3)动态分配算法:(考点)
    - 首次适应算法(FF)
    - 最佳适应算法(BF)
    - 快速适应算法(QF)

首次适应算法:
- 分配内存时从开始顺序查找适合内存区
- 若没有合适的空闲去,则该次分配失败
- 每次从头部开始,使得头部地址空间被划分。(缺点)
- 改善:使用循环适应算法,可以从当前节点继续检索
最佳适应算法:将空闲区先排序,避免大才小用
- 最佳适应算法要求空闲区链表按照容量大小排序。
- 遍历空闲区链表找到最佳合适空闲区。
在这里插入图片描述
快速适应算法?快速找到适合进程的分区
- 快速适应算法要求有多个空闲区链表
- 每个空闲区链表存储一种容量的空闲区在这里插入图片描述

  • 内存回收过程
    (1)回收区在空闲区下面
    - 不需要新建空闲链表节点
    - 只需要把空闲区1的容量增大为空闲区在这里插入图片描述

(2)回收区在空闲区上面
- 将回收区与空闲区合并
- 新的空闲区使用回收区的地址
在这里插入图片描述
(3)回收区位于两个空闲区之间
- 将空闲区1,空闲区2和回收区合并
- 新的空闲区使用空闲区1的地址
在这里插入图片描述
(4)回收区 自己
- 为回收区创建一个节点
- 插入到相应的空闲区链表中去
在这里插入图片描述

存储管理之段页式存储管理?

1.页式存储管理
2.段式存储管理
3.段页式存储管理

- 页式存储管理?
在这里插入图片描述

(1)将进程逻辑空间等分成若干大小的页面
(2)相应的把物理内存空间分成与页面大小的物理块
(3)以页面为单位把进程空间装进物理内存中分散的物理块。

注意:(1)页面大小应该适中,过大难以分配,过小内存碎片过多。(在空闲链表中)
(2)页面大小通常是512b-8k

页表:记录进程逻辑空间与物理空间的映射。(每个页面对应一个物理块,对应一个物理块号)(多级页表)

地址:页号+页面偏移
缺点:有一段连续的逻辑分布在多个页面中,将大大降低执行效率。
- 段式存储管理

(1)将进程逻辑空间划分成若干段(非等分)
(2)段的长度由连续逻辑的长度决定
(3)主函数main,子程序x,子函数y等。

段表:记录进程逻辑和物理空间的映射。根据段号去锁定
段地址:段号+段内偏移地址。

段适和页式的区别?

相同点:段式存储和页式存储都离散地管理了进程的逻辑空间。
不同点:
(1)页是物理单位,段是逻辑单位。
(2)分页是为了合理利用空间,分段是满足用户要求。
(3)页大小由硬件固定,段长度可动态变化
(4)页表信息是一维的,段表信息是二维的。

- 段页式存储管理?

(1)页式优点:分页可以有效提高内存利用率。
(2)分段可以更好满足用户需求。

(1)先将逻辑空间安段式存储分成若干段
(2)再把段内空间按页式管理等分成若干页

段页地址:段号+段内页号+页内地址在这里插入图片描述

存储管理之虚拟内存?
  • 虚拟内存?(把程序使用内存划分,将部分暂时不使用的内存放置在辅存,将进程的逻辑空间加载到物理空间,将不用的空间暂时放到磁盘)

(1)有些进程实际需要很大内存,超过物理内存的容量
(2)多道程序设计,使得每个进程可用物理内存更加稀缺
(3)不可无限增加物理内存,物理内存总有不够的时候。

程序的局部性原理?
(1)程序运行时,无需全部装入内存,装载部分即可。
(2)如果访问页不在内存,则发出缺页中断,发起页面置换
(3)从用户层面看,程序有很大的空间,即是虚拟内存。
虚拟内存:实际是对物理内存的补充,速度接近于内存,成本接近于辅存。

虚拟内存的页面置换算法?
[1]替换策略发生在Cache-主存层次,主存-辅存层次
[2]Cache-主存层次的替换策略主要是为了解决速度问题
[3]主存-辅存层次主要是为了解决容量问题

(1)先进先出算法(fifo)
(2)最不经常使用算法(lfu)
(3)最少使用算法(lru)

高速缓存的替换时机?

在这里插入图片描述

主存页面的替换时机?
主存缺页时
在这里插入图片描述

Linux的存储管理?
  • Buddy内存管理算法?
    (1)Buddy算法是经典的内存管理算法
    (2)算法基于计算机处理二进制的优势具有极高的效率
    (3)算法主要是为了解决内存外碎片的问题

页内碎片:内部碎片是已经被分配出去(能明确指出属于哪个进程)的内存空间大于请求所需的内存空间,不能被利用的内存空间就是内部碎片。
页外碎片:外部碎片指还没有分配出去(不属于任何进程),但是由于大小而无法分配给申请内存空间的新进程的内存空闲块。

内存分配原则:向上取整为2的幂大小
伙伴系统:
(1)“伙伴”指的是内存的伙伴
(2)一片连续内存的“伙伴”是相邻的另一片大小一样的连续内存。

算法流程:创建一系列空闲块链表,每一种都是2的幂。1kb,2kb,4kb。。

存储空间1mb
分配100k

100k向上取整2的幂=128k
分配1m,然后拆分512,然后拆分256,然后128合格。

回收刚才分配的内存?
在这里插入图片描述

  • Linux交换空间?(速度慢)

(1)交换空间(Swap)是磁盘的一个分区
(2)LInux物理内存满时,会把一些内存交换至Swap空间
(3)Swap空间是初始化系统时配置的

作用:
(1)冷启动内存依赖
(2)系统睡眠的依赖
(3)大进程空间依赖

交换空间和虚拟内存比较?

交换空间时存于磁盘,虚拟内存存在于磁盘
交换空间与主存发生置换,虚拟内存与主存发生置换。
交换空间是操作系统概念,虚拟内存是进程概念
交换空间解决系统物理内存不足问题,虚拟内存解决进程物理内存不足问题

操作系统的文件管理?

(1)逻辑结构的文件类型:有结构文件,无结构文件
(2)顺序文件:顺序文件是指按顺序存放在存储介质中的文件,磁带的存储特性使得磁带文件只能存储顺序文件,顺序文件是所有逻辑文件中存储效率最高的。(增删效率低)
(3)索引文件:可变长文件不适合使用顺序文件格式存储。索引文件是为了解决可变长文件存储而发明的一种文件格式,索引文件需要配合索引表完成存储的操作

  • 辅存的分配方式?
    (1)连续分配:顺序读取文件内容非常容易,速度很快。
    对存储要求高,要求满足容量的连续存储空间。
    (2)链接分配:可以将文件储存在离散的盘块中,需要额外的存储空间储存文件的盘块链接顺序。
    (3)索引分配:把文件的所有盘块集中存储(索引),读取某个文件时,将文件索引读取进内存即可。
Linux文件基本操作?
  • Linux目录

bin:执行的命令
etc:配置文件
home:主目录
usr/local:管理员的目录
在这里插入图片描述

相对路径:全路径
绝对路径:…/

linux的常见操作:
创建文件:touch file
编辑文件:vim file
查看文件内容:cat file
删除文件:rm file
创建文件夹:mkdir dir4
删除文件夹:rm -r dir4 递归删除
df-T 磁盘挂在信息

  • 文件类型
    (1)套接字(s)
    (2)普通文件(-)
    (3)目录文件(d)
    (4)符号链接(l)
    (5)设备文件(b,c)
    (6)FIFO(p)
Linux文件系统?
  • 文件系统的概览

(1)FAT:(File Allocation Table)FAT16,FAT32等,微软DOS/Windows使用的文件系统,使用一张表保存盘块的信息。
(2)NTFS:windowsnt环境的文件系统,NTFS对FAT进行了改进。
(3)EXT:扩展文件系统,linux文件系统,EXT2/3/4数字代表几代。

操作系统设备管理?
  • 广义的IO设备:对CPU进行数据输入的都是输入设备,对CPU进行数据输入的都是输出设备。

  • IO设备的缓冲区:减少CPU处理IO请求的频率,提高CPU与IO设备之间的并行性。
    在这里插入图片描述

  • SPOOLing技术
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作系统的学习(一) 的相关文章

  • window系统消失的c盘,实际占用与显示占用相差好多G

    问题 C盘一直显示的红色提醒 我c盘实际占用的空间只有33 1GB 而我的c盘总共大小是59 9GB 显示的剩余大小是1 35GB 也就是说我占用了58 11 和c盘的总文件大小相差了25GB 那么消失的25GB去了哪里 我百度过这个问题
  • Java课程设计之学习成绩管理系统

    package System import java awt import java awt event import java io import javax swing import javax swing table Abstract
  • plsql更改用户登录密码

    ORACLE数据库系统是美国ORACLE公司 甲骨文 提供的以分布式数据库为核心的一组软件产品 是目前最流行的客户 服务器 CLIENT SERVER 或B S体系结构的数据库之一 比如SilverStream就是基于数据库的一种中间件 O
  • System.getProperty用法

    转自 http blog darkmi com 2011 03 16 1666 html System getProperty 用于获取当前的系统属性 比如java版本 操作系统名称 区域 用户名等 这些属性一般由jvm自动获取 不能手工设
  • Minikube 架构及启动流程剖析

    原文作者 wzqnls 编辑 夏天 对于要学习 Kubernetes 或者需要本地开发的开发人员来说 Minikube 是一个不错的选择 通过使用 Minikube 这个工具 我们可以非常快捷地在本地部署一套单节点的 Kubernetes
  • Linux系统的安装(在VM虚拟机上安装CentOS 7)

    工具准备 物理计算机一台 配置要求 操作系统 win10 64位 大家基本上都是 硬盘可用容量 20G以上 内存容量 4G以上 虚拟机安装包 VMware workstation full 12 5 下载链接 点我下载 提取码 9gha C
  • redis主从同步,总是显示master_link_status:down的解决方法

    前几天 在修改一台从节点的redis的监听端口后 重启了下redis 发现master link status 很长时间一直都是down状态 查看了redis日志 发现日志里出现很多的 I O error trying to sync wi
  • linux 如何创建卷组

    1 创建一个物理卷 Pvcreate dev sd1 dev sd2 dev sd3 dev sd4 2 用刚才创建的物理卷创建一个卷组 Vgcreate 卷组名 dev sd1 dev sd2 dev sd3 dev sd4 3 创建逻辑
  • mapengpeng1999@163.com 操作系统4~处理机调度

    处理机调度 1 三级调度体系 1 处理机调度主要是对处理机运行时间进行分配 即 按照一定算法或策略 将处理机运行时间分配给各个并发进程 同时尽量提高处理机的使用效率 2 现代操作系统中 按调度所实现的功能分3种类型 高级调度 中级调度和低级
  • RTX线程通信之——线程标志

    文章目录 Thread Flags 概念 RTX线程标志API 案例 LED灯同步闪亮 小结 参考资料 Thread Flags In a real application we need to be able to communicate
  • 操作系统PV操作及读者写者问题

    操作系统PV操作及读者写者问题 目录 1 信号量 2 P V操作原语可描述为以下式子 3 解释 4 互斥模式原理 5 同步模式原理 6 读者写者问题 1 信号量 PV操作与信号量的处理有关 信号量是表示资源的实体 是一个与队列有关的整型变量
  • 03LinuxC线程学习之线程共享和非共享

    1 线程共享和非共享 1 1 线程共享资源 1 文件描述符表 由于线程间共享进程间的内容 而文件描述符表在主线程的PCB当中 各个线程可以直接去请求访问 所以线程间通信就不需要像进程那样通过管道这些方式通信 2 每种信号的处理方式 即当某个
  • Linux系统如何看目录属于哪个磁盘分区

    Linux是先有目录 再有磁盘分区 df h 目录 例如 没有挂载磁盘的目录 显示在系统盘 root iZ2ze57v3n0zma46zqiq8nZ sh 1 5 5 df h alidata Filesystem Size Used Av
  • Visual studio 2005 hangs on startup AppHangXProcB1 svchost devenv.exe svchost.exe:{2a811bb2-303b-48b...

    This problem has been torturing me for the whole afternoon and after searching on the web for a long time I finally get
  • [架构之路-185]-《软考-系统分析师》-3-操作系统基本原理 - 文件索引表

    目录 一 文件的索引块 二 索引分配表 三 索引表的链接方案 四 多层索引 五 混合索引分配 一 文件的索引块 存放在目录中的文件 并非是文件的真实内容 目录中记录了文件的索引块是几号磁盘块 文件对应的索引表是存放在指定的磁盘块中的 二 索
  • Linux常用命令记录

    文章目录 1 软件安装 安装软件 来自源服务器 安装 deb软件 来自本地 deb文件 修复依赖关系 卸载软件 2 文件 文件夹操作 删除文件夹 移动文件 文件重命名 3 程序查看 处理 进程查看 查看端口占用情况 强制终止程序 4 解压文
  • gdb attach 进程调试

    gdb调试正在运行的进程 GDB可以对正在执行的程序进行调度 它允许开发人员中断程序 并查看其状态 之后还能让这个程序正常地继续执行 gdb attach xxxxx xxxxx为利用ps命令获得的子进程process
  • 《OSPF和IS-IS详解》一1.7 独立且平等

    本节书摘来自异步社区 OSPF和IS IS详解 一书中的第1章 第1 7节 作者 美 Jeff Doyle 更多章节内容可以访问云栖社区 异步社区 公众号查看 1 7 独立且平等 OSPF和IS IS详解与TCP IP相比 OSI协议对各国
  • I/O设备模型

    I O设备模型 绝大部分的嵌入式系统都包括一些I O Input Outut 输入 输出 设备 例如仪器上的数据显示屏 工业设备上的串口通信 数据采集设备上用于保存数据的Flash或SD卡 以及网络设备的以太网接口等 I O设备模型框架 R
  • 八股文打卡day20——操作系统(3)

    面试题 线程同步的方式有哪些 我的回答 多线程同时访问和修改某个数据的话 会造成数据的不一致和冲突问题 所以就需要线程同步 线程同步的方式有 1 互斥锁 互斥锁就是 当一个资源被访问和操作时 会对这个资源加锁 把这个资源锁定 其他线程不能对

随机推荐