操作系统
或许对了
我曾七次鄙视自己的灵魂
展开
-
Linux进程线程信号及pthread_kill
Linux进程线程信号及pthread_killLinux 进程支持的信号及描述pthread_kill:pthread_kill与kill有区别,是向线程发送signal。,大部分signal的默认动作是终止进程,注意是整个进程的运行,所以,我们才要用signal()去抓信号并加上处理函数。int pthread_kill(pthread_t thread, int sig);向指定ID的线程发送sig信号,如果线程代码内不做处理,则按照信号默认的行为影响整个进程,也就是说,如果你给一个线程发转载 2020-10-28 17:03:21 · 450 阅读 · 0 评论 -
操作系统 - 线程
线程也称为轻量级的进程要介绍线程,就必须先从进程存在的问题说起一、进程存在的问题进程切换很耗费时间进程间调度切换时,很耗费计算机资源,即花费时间也耗费存储空间,因为要为被切换的进程保留大量信息,以便该进程再次被调度时恢复这个有点类似于函数调用,当A函数调用B函数时,A函数的断点地址、局部变量等都是要被保存起来的,等到从B函数返回时,A函数需要从断点地址重新继续运行,同时恢复A函数的局部变量,以便让A函数再次正常运行二、线程 - 进程问题的解决使用线...转载 2020-06-24 20:25:05 · 190 阅读 · 0 评论 -
Linux 基础 - 11. 线程
Linux 基础 - 11. 线程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SOupoXp3-1589783553270)(https://linotes.imliloli.com/assets/images/bio-photo.jpg)]Hawk Zhang北京电子邮箱LinkedIn\11. 线程11.1 线程11.1.1 线程的概念11.1.2 LINUX 的线程实现11.1.3 线程的特点11.1.4 用户线程与内核线程11.2 进程与线程的区别1转载 2020-05-18 14:32:53 · 376 阅读 · 0 评论 -
linux内核之虚拟文件系统总结
发表于 2016-03-20 | 分类于 Linux内核 |文章系原创,如需转载请注明:转载自”Blog of UnicornX” (http://unicornx.github.io/)最新更新于:2016-04-21总结得还是有点粗糙,但基本思路和涉及的内核主要数据结构都到位了。以后再慢慢改进吧。主要参考:LKD3rdLinux 文件系统剖析LINUX VFS精华版PPT内核代码v2.6.32.2关于VFS文件系统中的superblock、inode、d_entry和file数转载 2020-05-18 12:23:55 · 606 阅读 · 1 评论 -
Linux的任务调度
发表于 2016-03-17 | 分类于 Linux内核 |文章系原创,如需转载请注明:转载自”[Blog of UnicornX” (http://unicornx.github.io/)最新更新于:2016-03-17任务调度是操作系统内核的核心,我目前对它的认识也只能说是寥寥,但是聊胜于无,知道一点对理解内核的多任务处理机制,以及编写内核驱动还是有好处的。将我目前理解的东西总结在这里,以后有新的认识再逐渐更新吧。主要参考文章:ldd3lkd3ulk3内核代码v2.6.32..转载 2020-05-18 12:22:22 · 257 阅读 · 0 评论 -
Linux 进程调度
Linux 进程管理转自 https://blog.ihypo.net/15266606241253.html良特性之一。我会分两篇文章介绍 Linux 进程。这是第一篇,重点在于 Linux 进程的描述、和生命周期,下一篇将介绍 Linux 下的进程调度。描述符与任务结构进程就是处于执行期的程序,而通常还包括部分资源,比如:文件、挂起的信号、内核内部数据、处理器状态、内存空间以及一个或多个执行线程(thread of execution)。因此,可以认为一个进程就是一段可执行程序和计算机资源的集合转载 2020-05-18 10:00:51 · 294 阅读 · 0 评论 -
Linux多任务介绍
首先,先简单的介绍一下什么叫多任务系统?任务、进程、线程分别是什么?它们之间的区别是什么?,从而可以宏观的了解一下这三者,然后再针对每一个仔细的讲解。什么叫多任务系统?多任务系统指可以同一时间内运行多个应用程序,每个应用程序被称作一个任务。任务定义:任务是一个逻辑概念,指由一个软件完成的任务,或者是一系列共同达到某一目的的操作。进程定义:进程是指一个具有独立功能的程序在某个数据集上的一次动态执行过程,它是系统进行资源分配和调度的最小单元。线程定义:线程是进程内独立的一条运行路线,是处理器调度的最小单转载 2020-05-15 21:35:10 · 369 阅读 · 0 评论 -
Linux中断机制:硬件处理,初始化和中断处理
Linux中断机制:硬件处理,初始化和中断处理转自:https://cloud.tencent.com/developer/article/1517862专栏同的外部设备、不同的体系结构、不同的OS其中断实现机制都有差别,本文对应的OS为linux3.4版本,外部设备为PCI设备、系统为X86。最近解决一个关于Linux中断的问题,把相关机制整理了一遍,记录在此。不同的外部设备、不同的体系结构、不同的OS其中断实现机制都有差别,本文对应的OS为linux3.4版本,外部设备为PCI设备、系统为X86转载 2020-05-13 20:05:28 · 962 阅读 · 0 评论 -
Linux 系统结构详解
https://www.geek-share.com/detail/2789145639.htmlLinux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。一、linux内核内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内...转载 2020-05-07 12:18:34 · 369 阅读 · 0 评论 -
线程通信与进程通信的区别
线程通信与进程通信的区别每个进程有自己的地址空间。两个进程中的地址即使值相同,实际指向的位置也不同。进程间通信一般通过操作系统的公共区进行。同一进程中的线程因属同一地址空间,可直接通信。不仅是系统内部独立运行的实体,而且是独立竞争资源的实体。线程也被称为轻权进程,同一进程的线程共享全局变量和内存,使得线程之间共享数据很容易也很方便,但会带来某些共享数据的互斥问题。许对程序为了提高效率也都...转载 2020-04-17 14:57:54 · 129 阅读 · 0 评论 -
线程间的通信、同步方式与进程间通信方式
1、线程间的通信方式使用全局变量 主要由于多个线程可能更改全局变量,因此全局变量最好声明为volatile 使用消息实现通信 在Windows程序设计中,每一个线程都可以拥有自己的消息队列(UI线程默认自带消息队列和消息循环,工作线程需要手动实现消息循环),因此可以采用消息进行线程间通信sendMessage,postMessage。1)定义消息#define WM_THREA...转载 2020-04-17 12:15:10 · 124 阅读 · 0 评论 -
死锁的四个必要条件和解决办法
展开死锁概念及产生原理概念:多个并发进程因争夺系统资源而产生相互等待的现象。原理:当一组进程中的每个进程都在等待某个事件发生,而只有这组进程中的其他进程才能触发该事件,这就称这组进程发生了死锁。本质原因:1)、系统资源有限。2)、进程推进顺序不合理。死锁产生的4个必要条件1、互斥:某种资源一次只允许一个进程访问,即该...转载 2020-04-16 16:19:58 · 285 阅读 · 0 评论 -
linux 进程间通信-信号量
简介代码临界区在多个程序共享资源的情况下, 常常会因为多个程序同时访问一个共享资源而引发一系列问题。为了防止这一问题, 引入了代码临界区的概念。代码临界区是指操作系统在处理时不可分割的代码。在上述情况下, 即指: 在任一时刻, 只能有一个程序访问临界区并执行代码。信号量提供了这样一种访问机制。简单来说, 信号量的功能就是用来协调进程对共享资源的访问。工作原理程序对信号量 s 的访问都是...转载 2020-03-26 21:20:18 · 336 阅读 · 0 评论