前言 1. 什么是“多任务”的操作系统? 简单地说,就是操作系统可以同时运行多个任务。 2. 单核CPU是如何执行多任务的? 操作系统轮流让多个任务交替执行,任务1执行0.01s,切换到任务2,任务2执行0.01s,再切换到任务3,执行0.01s……这样反复执行下去。表面上看,每个任务都是交替执行的 ...
分类:
编程语言 时间:
2019-11-29 18:27:27
阅读次数:
129
本文仅供自己日常参考 linux 后台运行任务 nohup, 不挂起地运行任务 比如说当我们从客户端ssh到服务器, 如果因为客户端这边的网络或者其他原因, 导致ssh意外中断, 那服务器上正在运行的任务可能就被迫中断了, nohup就是为了解决这类需求, 当终端关闭后, 任务仍能继续运行 参考了这 ...
分类:
系统相关 时间:
2019-10-23 22:14:59
阅读次数:
140
1 查看中断前后 上下文的变换使用 代码打印 进入 中断前后的 上下文,发现有 cs ss esp 改变了。中断门只用到了 TSS数据段中 cs ss esp 这几个东西;任务门 任务切换用到了更多的上下文 TSS 数据段的所有数据 。TSS 数据格式:2 代码:// 3_中断现场分析.cpp : ... ...
分类:
其他好文 时间:
2019-10-22 12:51:30
阅读次数:
72
一、线程、进程回顾 1. 在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。 2. 并发的本质:切换+保存状态。 3. cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长。 4. 在介绍 ...
分类:
其他好文 时间:
2019-09-22 21:55:02
阅读次数:
105
1、使用进程技术的优势 (1)、CPU分时复用,单核心CPU可以实现宏观上的并行 (2)、实现多任务系统需求(多任务的系统是客观的) 2、进程技术的劣势 (1)、进程间切换开销大 (2)、进程间通信麻烦并且效率低 3、解决方案就是线程技术 (1)、线程技术保留了进程技术实现多任务的特性。 (2)、线 ...
分类:
编程语言 时间:
2019-08-03 11:08:34
阅读次数:
121
函数调用的方法有两种分别如下: 上面两种方式都可以调用函数,第二种方式在回调函数中用的最多,尤其是在操作系统的任务切换中。那么我们就重点来分析下第二种方式。 第二种方式申明了一个函数指针p,那为啥写成void(*p)(void)?为啥不直接写成*p,不是说了函数名就是该函数的入口地址,为啥不直接把该 ...
分类:
编程语言 时间:
2019-06-08 19:15:40
阅读次数:
152
在服务器上怎么下载软件包?怎么装RPM包?怎么看已经安装过的软件?一.cd到你存放rpm文件包的目录rpm-ivhlinuxqq-v1.0.2-beta1.i386.rpm安装时可能会遇到缺少包的错误。rpm-ivh--replacepkgswebmin-1.290-1.noarch.rpm软件包重复安装将会失败,若仍需要安装必须加--replacepkgsrpm-ivh--replacefile
分类:
其他好文 时间:
2019-05-24 10:44:08
阅读次数:
245
勿在流沙筑高台,出来混迟早要还的。 做一个积极的人 编码、改bug、提升自己 我有一个乐园,面向编程,春暖花开! 本文导图: 一、由一个提问引发的思考 在Stack Overflow 看到这样一个问题: Is Java “pass-by-reference” or “pass-by-value”? ...
分类:
编程语言 时间:
2019-04-13 17:41:14
阅读次数:
157
并发:两个或者更多的任务同时发生,一个程序同时执行多个独立的任务。 以往计算机 单核CPU 某一个时刻只能执行一个任务 由操作系统调度 每秒钟进行多次所谓的任务切换并发的假象(不是真正的并发),这种切换(上下文切换)时要有时间开销的。 线程 每个进程(执行起来的可执行程序),都有一个主线程 这个主线 ...
分类:
编程语言 时间:
2019-04-09 12:40:15
阅读次数:
175