美文网首页知识点
操作系统的理解

操作系统的理解

作者: 凉拌姨妈好吃 | 来源:发表于2018-03-27 00:20 被阅读0次

什么是线程?什么是进程?

线程与进程都是CPU时间段的描述。

进程为CPU加载上下文+CPU执行上下文+CPU保存上下文的时间总和(进程资源独立)

线程是共享了进程的上下文环境的更细小的时间段(线程资源共享)

通俗理解:打开一个QQ(进程),发送语音(线程),发送文字(线程),发送图片(线程)


线程的互斥与同步

什么叫线程的互斥?

多个线程共享同一资源,当资源被某一线程抢占后,其他线程都变成挂起状态,等待资源的释放

通俗理解:就是多个线程抢占打印机

什么叫线程的同步?

A线程的结果被B线程所需要

那么从上面的同步互斥概念可以理解出:若AB线程共享同一资源,这就是互斥,要么A先获得资源B挂起,或B获得资源A挂起,这里就是同步。所以同步也就包含互斥,互斥算是特殊的同步。


如何进行线程同步

若AB抢占同一资源(临界资源),在A抢占资源时,给资源加了互斥锁,若资源为多个,那么则使用信号量(向系统提供安全分配临界资源的方法),当A线程完成后,主动去唤醒B线程,这就是事件的使用。还有另一种高级的线程同步方法:令牌


为什么会产生死锁?

线程A先占用资源a,后占用资源b,线程B先占用资源b,后占用资源a,A需要的资源B占用,B需要的资源A占用,这时就产生了僵局,这就是死锁。

由此可分析得出死锁产生的条件

不抢占资源、循环等待、互斥条件(某段时间内,该资源只能被A线程使用)、请求与保持

如何避免死锁?

除了破坏必要四个条件中的任意一个,还有一个著名的银行家算法

银行家算法

(1)A进程所请求的B资源数<=A所需要的B资源数

(2)A所请求的B资源数<=系统所拥有的B资源数

(3)系统所拥有的B资源数-=A所请求的B资源数,

        A所需要的B资源数-=A所请求的B资源数,

        A所占用的B资源数+=A所请求的B资源数

(4)安全性检测,若安全性检测无问题,那么(3)执行有效,否则作废

        一、定义一个Flag[i]=false

        二、在进程集合中找到满足Flag[i]==false&&所需要的资源数小于系统所拥有的资源数,

        三、当该进程获得资源执行完成之后,释放出分配给它的资源,

        那么:系统所拥有的资源数+=进程P执行的资源数,Flag[i]=true,转向二

        四、若所有进程Flag[i]=true都满足,那么说明系统处于安全状态

哲学家就餐问题:

两个重要断言

1.系统中有N个并发进程,若规定每个进程需要2个资源,系统提供N+1个资源,那么进程间永远不会产生死锁。

2.系统中有N个并发进程,假设系统提供K个资源就不会产生死锁,每个进程所需资源为R,那么K=N(R-1)+1

相关文章

  • 操作系统的理解

    什么是线程?什么是进程? 线程与进程都是CPU时间段的描述。 进程为CPU加载上下文+CPU执行上下文+CPU保存...

  • 第六节课:操作系统

    操作系统的基本理解 操作系统百度百科操作系统历史操作系统的历史与分类 windows linux mac 嵌入式操作系统

  • 程序员书籍推荐

    1. 深入理解操作系统

  • 关于操作系统的一些总结

    1)操作系统是什么?2)操作系统的基本组成?3)个人理解需要了解的操作系统哪些内容?4)操作系统发展的历史? 一、...

  • Linux 1-文件和目录

    文件和目录(理解) 目标 理解 Linux 文件目录的结构 01. 单用户操作系统和多用户操作系统(科普) 单用户...

  • 内存管理——分页、分段

    参考 怎样通俗的理解操作系统中内存管理分页和分段?计算机操作系统 - 内存管理

  • k8s sheduler的简单理解

    k8s是云时代的“操作系统”,对于k8s的理解,我们可以对照操作系统来学习理解。本篇我们对schduler组件进行...

  • Linux C++ 服务器端这条线怎么走?一年半能做出什么?

    学习操作系统的目的,不是让你去发明自己操作系统内核,打败 Linux;也不是成为内核开发人员;而是理解操作系统为用...

  • 04.文件和目录

    目标 理解 Linux 文件目录的结构 01. 单用户操作系统和多用户操作系统(科普) 单用户操作系统:指一台计算...

  • 操作系统

    掌握操作系统的基本概念、基本原理和基本功能,理解操作系统的整体运行过程。掌握操作系统进程、内存、文件和 I/O 管...

网友评论

    本文标题:操作系统的理解

    本文链接:https://www.haomeiwen.com/subject/zdorcftx.html