今天我们购买的每台电脑都有一个多核心的 CPU,允许它并行执行多个指令。操作系统通过将进程调度到不同的内核来发挥这个结构的优点。 然而,还可以通过异步 I/O 操作和并行处理来帮助我们提高单个应用程序的性能。 在.NET Core中,任务 (tasks) 是并发编程的主要抽象表述,但还有其他支撑类可 ...
分类:
Web程序 时间:
2018-03-11 19:23:39
阅读次数:
232
在Linux内核中,内核将进程、线程和内核线程一视同仁,即内核使用唯一的数据结构task_struct来分别表示他们;内核使用相同的调度算法对这三者进行调度;并且内核也使用同一个函数do_fork()来分别创建这三种执行线程(thread of execution)。执行线程通常是指任何正在执行的代 ...
分类:
系统相关 时间:
2018-02-28 14:01:57
阅读次数:
189
进程调度:在操作系统中调度是指一种资源分配。 调度算法是指: 根据系统的资源分配策略所规定的资源分配算法。 操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。这就是调度。目的是控制资源使用者的数量,选取 ...
分类:
编程语言 时间:
2018-02-22 23:47:58
阅读次数:
267
1 .1 进程结构 每个进程都具有自己的属性,用一个task_struct数据结构来表示,它包含了进程的详细信息,主要有进程标识符(PID)、进程所占的内存区域、相关文件描述符、安全信息、进程环境、信号处理、资源安排、同步处理状态几个方面。 数组task包含指向系统中所有task_struct结构的 ...
分类:
系统相关 时间:
2018-02-22 21:38:32
阅读次数:
253
一、前言 在内核中,有cpuidle framework可以控制cpu的节电:当没有进程调度到该cpu上执行的时候,swapper进程粉墨登场,将该cpu会被推入到idle状态。当然CPU的idle状态有深有浅,当CPU睡的比较深入的时候,有可能会关闭本地的timer硬件。这样就会引入一个很有意思的 ...
分类:
系统相关 时间:
2018-02-14 15:04:51
阅读次数:
252
一、前言 本文主要描述了主调度器(schedule函数)中的同步处理。 二、进程调度简介 进程切换有两种,一种是当进程由于需要等待某种资源而无法继续执行下去,这时候只能是主动将自己挂起(调用schedule函数),引发一次任务调度过程。另外一种是进程被抢占。所谓抢占(preempt)就是在当前进程欢 ...
分类:
系统相关 时间:
2018-02-13 23:36:46
阅读次数:
223
Linux 内核主要由 5 个模块构成,它们分别是: 进程调度模块 用来负责控制进程对 CPU 资源的使用。所采取的调度策略是各进程能够公平合理地访问 CPU,同时保证内核能及时地执行硬件操作。 内存管理模块 用于确保所有进程能够安全地共享机器主内存区,同时,内存管理模块还支持虚拟内存管理方式,使得 ...
分类:
系统相关 时间:
2018-02-13 21:21:40
阅读次数:
238
python之路——进程 阅读目录 理论知识 操作系统背景知识 什么是进程 进程调度 进程的并发与并行 同步\异步\阻塞\非阻塞 进程的创建与结束 在python程序中的进程操作 multiprocess模块 进程的创建和multiprocess.Process 进程同步控制 —— 锁\信号量\事件 ...
分类:
编程语言 时间:
2018-02-06 01:23:56
阅读次数:
265
1进程调度就绪进程最重要的特征是该进程是非阻塞的。进行用户交互、大量读写文件、响应I/O和网络事件的进程会花费大量时间来等待资源可用,在相当长的时间内无法转为就绪状态(长是相对于指令运行时间而言),因此就绪进程首先应该是非阻塞的。一个就绪进程还必须至少有部分“时间片”(调度器分配给进程的运行时间)。内核用一个就绪队列维护所有的就绪进程,一旦某进程耗光它的时间片,内核就将其移出队列,直到所有就绪进程
分类:
系统相关 时间:
2018-01-30 12:15:59
阅读次数:
220
一、查看进程信息 目标: 本例要求掌握查看进程信息的操作,使用必要的命令工具完成下列任务: 找出进程 gdm 的 PID 编号值 列出由进程 gdm 开始的子进程树结构信息 找出进程 sshd 的父进程的 PID 编号/进程名称 查看当前系统的CPU负载/进程总量信息 查看进程的主要命令工具: ps ...
分类:
系统相关 时间:
2018-01-11 22:15:05
阅读次数:
256