美文网首页技能
《现代操作系统》读书笔记——进程与线程

《现代操作系统》读书笔记——进程与线程

作者: 菲_Ariel | 来源:发表于2015-03-31 22:03 被阅读698次

花了大概半年的时间不紧不慢的把《现代操作系统》读了一遍,第一遍读得感觉比较费劲,不过读下来也得以对操作系统整体概念有了一个整体的认识。
下面,我讲把我读书之后一些知识进行一个梳理,作为自己对操作系统的知识储备。其中缺陷错误之处请大家多多批评指正。

1. 进程与线程

在看这一章时,首先我不断让自己明确进程是程序的一次执行,是系统进行资源分配和调度的一个独立单位,线程是进程的实体,是cpu调度和分配的基本单位。书中指出,每个进程有一个地址空间和一个控制线程。
进程包括三种状态:运行态,就绪态,阻塞态。进程会由于等待资源或者获得资源的原因在这三个状态间切换。一个进程可以分为多个线程的运行,这些线程公用相同的地址空间和所有数据,线程比进程更轻量,可以做到更快的创建和撤销,在需要大量的io和cpu计算时,多个线程可以做到多个线程的同时运行,加快执行速度,在多核计算机中,多个线程也可以同时运行。
进程与线程还有一个重点,即进程间通信。进程间通信需要解决三个问题:

  • 一个进程如何给另一个进程传递信息
  • 如何保证进程之间不相互干扰
  • 当进程间出现相互依赖关系时该如何处理。

同样的线程也存在这样的问题,但是由于线程拥有相同的地址空间,因此第一个问题对于线程而言并不困难。但是另外两个问题同样困扰线程。那么我们就需要了解几种概念。

  竞争条件:两个或多个进程读写某些共享数据,而最后的结果取决于程序运行的精确时序。
  临界区:对于这些竞争条件,就需要做到互斥。这里讲共享内存进行访问的程序片段称为临界区。因此需要进行

相关文章

  • 从进程和线程了解浏览器的工作原理

    进程和线程 进程(process)和线程(thread)是操作系统的基本概念。 现代操作系统都是可以同时运行多个任...

  • JAVA并发编程(一)基础知识

    1.基础概念: 1.1. 进程、轻量级进程、内核线程、用户线程的关系和区别 在现代操作系统中,进程支持多线程。进程...

  • 进程和线程的理解

    进程:对于操作系统而言,进程是整个现代操作系统的核心根本,操作系统是以进程为单位执行任务。 线程:随着技术的发展,...

  • Java并发编程基础

    线程 现在操作系统在运行程序时,会为其创建一个进程。现代操作系统调度最小单元是线程。一个进程里可以有多个线程。这些...

  • (一)Java并发基础介绍

    什么是线程 现代操作系统运行一个应用程序的时候会创建一个进程,进程中包含多个线程,线程是现在操作系统的最小调度单元...

  • Python - 进程、线程与协程

    Python - 高级教程 - 进程、线程与协程 进程与线程 在操作系统中,每一个独立运行的程序,都占有 操作系统...

  • GO学习笔记(18) - 并发编程(1) - 理解gorouti

    目录 进程、线程与协程 并发模模型介绍 GO并发编程介绍 进程、线程与协程 进程和线程 进程是程序在操作系统中的一...

  • Java线程小刀牛试

    线程简介 什么是线程 现代操作系统调度的最小单元是线程,也叫轻量级进程(Light Weight Process)...

  • 线程基础

    1. 线程简介 1.1 什么是线程 现代操作系统调度的最小单元是线程,也叫轻量级进程,在一个进程里可以创建多个线程...

  • 《现代操作系统》读书笔记——进程与线程

    花了大概半年的时间不紧不慢的把《现代操作系统》读了一遍,第一遍读得感觉比较费劲,不过读下来也得以对操作系统整体概念...

网友评论

    本文标题:《现代操作系统》读书笔记——进程与线程

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