一、基本特征 1. 并发 并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。 并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。 操作系统通过引入进程和线程,使得程序能够并发运行。 2. 共享 共享是指系统中的资源可以被多个并发进程共同使用。 有两种共享方式: ...
分类:
其他好文 时间:
2020-12-19 13:01:41
阅读次数:
2
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 在 Python 开发中, yield 关键字的使用其实较为频繁,例如大集合的生成,简化代码结构、协程与并发都会用到它。 但是,你是否真正了解 yield 的运行过程呢? 这篇文章,我们就来看一下 y ...
分类:
编程语言 时间:
2020-12-17 12:49:13
阅读次数:
1
goroutine是Golang特有,类似于线程,但是线程是由操作系统进行调度管理,而goroutine是由Golang运行时进行调度管理的用户态的线程。 1.C#的线程操作 1.1 创建线程 static void Main(string[] args) { Thread thread = new ...
分类:
其他好文 时间:
2020-12-15 12:15:03
阅读次数:
2
计算机五大组成、三大核心、以及操作系统的启动流程和应用程序的启动流程 ...
分类:
其他好文 时间:
2020-12-07 11:51:26
阅读次数:
3
文件系统的理解一共分为了三个部分,第一个部分主要是VFS的理解,第二个部分主要是linux上的经典文件系统(ext2\ext3),最后再输出一下无持久存储的文件系统,通过以上三部分基本可以熟悉到文件系统的所有基础内容了.本文主要从VFS的层面进行分析文件系统。我们知道linux为了在支持本机的文件系统外同时允许访问其他操作系统的文件,用户态和文件系统之间加入了一个抽象层,该抽象层就是VFS,VFS
分类:
系统相关 时间:
2020-11-07 16:43:31
阅读次数:
17
ramdisk 文件系统基于磁盘模拟技术,实际文件系统是ex2 ex3等。sysfs是一种基于ram的文件系统。sysfs文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。其实就是在用户态可以通过对sys文件系统的访问, ...
分类:
系统相关 时间:
2020-11-07 16:40:29
阅读次数:
22
前面的几篇文章里讨论过了进程上下文切换和系统调用对系统性能的影响,我们今天再来看另外一个CPU吃货,那就是软中断。 你在用vmstat或者其他一些工具查看系统CPU消耗的时候,发现有两列是单独列出来的,分别是是hi和si。他们分别是硬中断和软中断。既然vmstat把中断的开销单独列出来了,就说明一个 ...
分类:
其他好文 时间:
2020-11-01 21:59:48
阅读次数:
21
当多个独立的I/O事件同时发生时,I/O多路复用是一种解决方式。 为了提高服务器的吞吐量,单个线程通过记录跟踪每个I/O流的状态同时管理多个I/O流,非常类似时分复用技术。 I/O多路复用的具体实现方式有3种:select()、poll()和epoll()。 select select()系统调用: ...
分类:
其他好文 时间:
2020-10-24 10:14:46
阅读次数:
21
OS的运行机制和体系结构 运行机制 何为指令? ? 简单来说:“指令”就是处理器(CPU)能识别、执行的最基本命令。 两种指令 特权指令(不允许用户程序使用) 非特权指令 两种处理状态 用户态(目态) 此时CPU只能执行非特权指令 核心态(管态) 特权指令、非特权指令都可执行 两种程序 内核程序 操 ...
分类:
其他好文 时间:
2020-09-17 14:15:26
阅读次数:
31
基于 OS 内核的数据传输有什么弊端 1、中断处理:当网络中大量数据包到来时,会产生频繁的硬件中断请求,这些硬件中断可以打断之前较低优先级的软中断或者系统调用的执行过程,如果这种打断频繁的话,将会产生较高的性能开销。 2、内存拷贝:正常情况下,一个网络数据包从网卡到应用程序需要经过如下的过程:数据从 ...
分类:
其他好文 时间:
2020-09-12 21:38:33
阅读次数:
80