操作系统-知识点整理

进程:

是计算机中关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。早期计算机结构面向进程设计,进程是程序的基本执行实体;当代计算机结构面向线程设计,进程是线程的容器。

进程间通信:Linux C编程中有几种方法:

(1)双办公Unix管道

(2)FIFOs(命名管道)

(3)消息队列

(4)信号量

(5)共享内存

(6)网络Socket

进程内存空间:由进程控制块、程序段、数据段三部分组成。

线程:

线程是操作系统进行运算调度的最小单位,包含在进程之间,是进程中的实际运作单位。

线程是独立调度和分配的基本单位,线程有操作系统内核调度的内核线程,由用户进程自行调度的用户线程,还有内核与用户进程进行混合调度的线程。

线程内存空间:同一进程中的多条线程共享该进程中的全部系统资源,如虚拟地址空间、文件描述符、信号处理等;但每个线程有各自的调用栈、寄存器环境、线程本地存储。

线程的主体由程序、数据、TCB(线程控制块)组成。

线程同步的方式:多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)_青萍之末的博客-CSDN博客_线程互斥锁

线程间互相通信:由于同一个进程内的线程共享内存和文件,所以线程之间通信不必调用内核。

可以直接读写进程数据段(如全局变量)来进行通信。

死锁的四个必要条件:

不可抢占:进程使用中的资源不能强行抢占

资源互斥:一个资源每次只能被一个进程使用

请求与保持:一个进程因得不到请求的资源而阻塞的时候,对已获得的资源保持不放。

循环等待:若干进程之间形成一种头尾相接的循环等待资源关系。

如何避免死锁:

资源使用后立即释放;

设置线程优先级,使优先级高的进程可抢占优先级低的进程的资源;

一次性分配方案:要么不给进程分配资源,要么对进程所需的全部资源一次性分配。

若对资源的请求被拒绝,则必须释放其先前占有的资源;

将系统中的所有资源同一编号,进程的资源申请必须按资源的编号顺序提出;

银行家算法:银行家算法_wenlijunliujuan的专栏-CSDN博客_银行家算法

增加资源申请时限;

线程池:Java相关概念

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值