![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 78
dream161110
这个作者很懒,什么都没留下…
展开
-
io多路复用个人理解
概述IO多路复用即一个函数(函数集)跟多个套接字进行IO操作,常见类型为select、poll、epollselectint select(int maxfdp1, fd_set* readset, fd_set* writeset, fd_set* exceptset, const struct timeval* timeout); 检查从0到maxfdp1-1的描述符,检测到可读、可写、异常的描述符会放到各自的链表中,timeout设置阻塞超时时间。pollint poll(struct原创 2021-08-20 17:49:28 · 166 阅读 · 0 评论 -
操作系统学习笔记
学习笔记疑问及解决知识点记录疑问及解决为什么需要多线程?一个进程有不同的任务,譬如说一个程序有不同的方法,有些任务需要等待其他资源的调度(IO调度),此时的CPU会空闲等待,加入多线程之后,进程分为不同的线程去执行不同的任务,使得CPU的利用率大大提高。多线程和多进程的区别多进程是执行不同的程序,多进程切换需要中断、记录断点等信息,需要耗费时间和其他资源。而多线程是一个进程的不同任务的...原创 2019-03-24 12:54:35 · 79 阅读 · 0 评论 -
用户级线程和内核级线程的区别
用户级线程和内核级线程的区别用户线程优点:缺点:内核级线程优点:缺点:关联性线程的实现可以分两类:用户级线程,内核级线程和混合式线程。用户线程用户级线程是指不需要内核支持而在用户程序中实现的线程,它的内核的切换是由用户态程序自己控制内核的切换,不需要内核的干涉。但是它不能像内核级线程一样更好的运用多核CPU。优点:(1) 线程的调度不需要内核直接参与,控制简单。(2) 可以在不支持线程...转载 2019-03-28 15:29:37 · 13530 阅读 · 2 评论 -
用户栈与内核栈有什么区别
来源: 简书:saviochen 内核在创建进程时,会同时创建task_struct和进程相应堆栈。每个进程都会有两个堆栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。当进程在用户空间运行时,CPU堆栈寄存器的内容是用户堆栈地址,使用用户栈。当进程在内核空间时,CPU堆栈寄存器的内容是内核栈地址空间,使用的是内核栈。 当进程因为中断或系统调用进入内核时,进程使用的堆栈也需要从用...转载 2019-03-28 15:49:39 · 1363 阅读 · 0 评论 -
内存池、进程池、线程池。
内存池、进程池、线程池池的概念内存池进程池和线程池线程池主要应用来源池的概念 由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正式运行阶段,即开始处理客户请求的时候,如果它需要相关的资源,就可以直接...转载 2019-03-28 16:08:12 · 109 阅读 · 0 评论 -
动态链接与静态链接
动态链接与静态链接静态链接动态链接静态链接方法动态链接方法来源静态链接 就是在编译链接时直接将需要的执行代码拷贝到调用处,优点就是在程序发布的时候就不需要的依赖库,也就是不再需要带着库一块发布,程序可以独立执行,但是体积可能会相对大一些。动态链接 就是在编译的时候不直接拷贝可执行代码,而是通过记录一系列符号和参数,在程序运行或加载时将这些信息传递给操作系统,操作系统负责将需要的动态库加...原创 2019-03-28 16:44:56 · 169 阅读 · 0 评论 -
操作系统的四个特性
1)并发(concurrence) 并行性与并发性这两个概念是既相似又区别的两个概念。并行性是指两个或者多个事件在同一时刻发生,这是一个具有微观意义的概念,即在物理上这些事件是同时发生的;而并发性是指两个或者多个事件在同一时间的间隔内发生,它是一个较为宏观的概念。在多道程序环境下,并发性是指在一段时间内有多道程序在同时运行,但在单处理机的系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交...转载 2019-03-28 17:02:33 · 1341 阅读 · 0 评论