操作系统_进程管理

1. 进程和线程的基础知识

1.1 进程

并发和并行的区别

1.1.1 进程的状态

1.1.2 进程的控制结构

1.1.3 进程的控制

我们熟知了进程的状态变迁和进程的数据结构PCB后,再来看看进程的创建、终止、阻塞、唤醒的过程,这些过程也就是进程的控制。

1.1.4 进程的上下文切换

场景:时间片耗尽,系统资源不足,进程主动sleep,优先级更高进程要运行,发送硬件中断。

1.2 线程 

进程中更小的能独立运行的基本单位

1.2.1 线程的必要性

单进程执行以下操作会画面和声音不连贯,各个函数之间并不是并发执行。

1.2.2 线程的定义

1.2.3 线程与进程的比较

1.2.4 线程的上下文切换

1.2.5 线程的实现

优点:每个进程都有控制块,用内核函数完成切换,速度更快。

缺点:系统无法识别单个线程,一阻塞全阻塞,线程不可被其他线程打断,多线程抢时间执行较慢。

优点:能阻塞单个线程,具有更多运行时间。

缺点:内核支持,系统调用,开销大

1.3 进程调度(主线程调度)

1.3.1 调度原则

 1.3.2 调度算法


 2. 进程间通信方式

2.1 管道

 2.2 消息队列 

2.3 共享内存

2.4 信号量

2.5 信号

2.6 Socket

2.6.1  针对TCP协议通信的socket编程模型

2.6.2 针对 UDP 协议通信的 socket 编程模型

 

2.6.3 针对本地进程间通信的 socket 编程模型 

2.7 总结

 3. 多线程冲突问题

3.1 互斥和同步

 3.2 互斥和同步的实现

3.2.1 锁

 

3.2.2 信号量

4. 死锁的概念

4.1 互斥条件

4.2  持有并等待条件

4.3 不可剥夺条件

4.4 环路等待条件

4.5 避免死锁问题的发生

5. 悲观锁和乐观锁

5.1 互斥锁与自旋锁

5.2 读写锁

5.3 乐观锁和悲观锁

5.4 线程崩溃会导致进程崩溃吗

 

5.5 可以创建线程的总数

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值