zoukankan      html  css  js  c++  java
  • 操作系统读书笔记

    1,死锁的四个条件:

      互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放;

      请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放;

      不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放;

      环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链

    2,信号量:是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。

      信号量的特性如下:信号量是一个非负整数(车位数),所有通过它的线程/进程(车辆)都会将该整数减一(通过它当然是为了使用资源),当该整数值为零时,所有试图通过它的线程都将处于等待状态。在信号量上我们定义两种操作: Wait(等待) 和 Release(释放)。

     

    3,最常用的进程间通信的方式有:信号,信号量,消息队列,共享内存

     信号和信号量是不同的,他们虽然都可用来实现同步和互斥,但前者是使用信号处理器来进行的,后者是使用P,V*作来实现的。 

     

    4,线程的状态:1.新建 2.就绪 3.运行 4.阻塞 5.死亡

     

    5,信号和信号量的区别

      信号:使用信号处理器来进行的, 使用信号要先知道有哪些信号,在Linux下有31个需要记住的通用信号,据说也是systemV中最常用的那些,信号是实现约定的固定的值。

      信号量:使用P,V*作来实现的,而信号量是一个变量记录着某些特定信息。 分为有名和无名两种。进程间通信用有名信号量,同一进程内部通信一般用无名信号量。

  • 相关阅读:
    GridView编辑删除操作
    hdu 4857 逃生 拓扑排序+PQ,剥层分析
    每日回顾Shell —cat,tail,head
    uva:10700
    Unity多玩家网络游戏开发教程1章Unity带有网络功能
    android com.handmark.pulltorefresh 使用技巧
    Jsoup 抓取和数据页 认识HTTP头
    JDK8在Java转让Javascript脚本引擎动态地定义和运行代码
    2013-2014约半学期的学习和规划研究综述
    Javascript 设计模式 辛格尔顿
  • 原文地址:https://www.cnblogs.com/zhongwh/p/2418573.html
Copyright © 2011-2022 走看看