
操作系统
文章平均质量分 61
渣一个
这个作者很懒,什么都没留下…
展开
-
线程间同步方式
https://blog.youkuaiyun.com/electrocrazy/article/details/78931704线程(thread)是允许应用程序并发的执行多个任务的一种机制。一个进程可以有多个线程,如果每个线程执行不同的任务,通过对线程的执行顺序进行控制(调度)就可以实现任务的并发执行。当然了多进程也可以实现任务的并发处理,但是两者之间是有区别的。最大的区别就是拥有的资源不同。进程拥有自己的独立系统资源,而线程没有独立资源,只能和属于同一进程的其他线程共享进程的系统资源。单个资源在多个用户之间共原创 2021-08-19 16:09:29 · 248 阅读 · 0 评论 -
linux 系统让服务后台运行
你是否遇到过这样的情况:从终端软件登录远程的Linux主机,将一堆很大的文件压缩为一个.tar.gz文件,连续压缩了半个小时还没有完成,这时,突然你断网了,你登录不上远程Linux主机了,那么前面的半个小时就会前功尽弃,你非常气愤……在Linux下,如果你要执行的shell命令耗时特别长,并且:(1)你的网络不稳定,随时可能断网;或者(2)你在执行了shell命令之后必须要关闭终端软件(例如SecureCRT)。那么你就需要以脱离终端的方式在后台运行这个shell命令。方法如下:(1)输入原创 2020-10-24 22:43:16 · 664 阅读 · 0 评论 -
操作系统面试题
转自:https://blog.youkuaiyun.com/NuanShuTT/article/details/107908519什么是进程?进程就是正在执行的程序,是操作系统资源分配的基本单位。一般来说,进程包含指令、数据和PCB。延伸问题:孤儿进程和僵尸进程有什么区别?孤儿进程就是说一个父进程退出,而它的一个或多个子进程还在运行,那么这些子进程将成为孤儿进程。孤儿进程将被 init 进程(进程ID为1的进程)所收养,并由 init 进程对它们完成状态收集工作。因为孤儿进程会被 init 进程收养,原创 2020-09-13 11:15:35 · 333 阅读 · 0 评论 -
Linux查看和控制进程
转自:https://baijiahao.baidu.com/s?id=1617448120776344096&wfr=spider&for=pcLinux如何查看和控制进程前言:程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序。在Linux系统中,每个程序启动后可以创建一个或多个进程。例如,提供Web服务的httpd程序,当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务。程序保原创 2020-08-30 12:37:36 · 488 阅读 · 0 评论 -
Linux查看负载相关命令
转自:https://www.cnblogs.com/pengjt/p/11910572.htmllinux下查看负载的主要命令有下面一些:top, uptime,w,vmstat1、top命令查看linux负载:第一行解释:top - 11:03:08 up 1 days, 04:01, 3 user, load average: 0.05, 0.05, 0.0111:03:08:系统当前时间up 1 days, 04:01:系统开机到现在经过了1天3 users..原创 2020-08-30 11:59:03 · 409 阅读 · 0 评论 -
Linux常用命令
https://blog.youkuaiyun.com/weixin_44624117/article/details/101368670https://blog.youkuaiyun.com/luansj/article/details/97272672https://blog.youkuaiyun.com/weixin_43314519/article/details/106934678原创 2020-08-30 11:56:43 · 151 阅读 · 0 评论 -
操作系统中的中断
中断是指CPU对系统发生的某个事件做出的一种反应,CPU暂停正在执行的程序,保存现场后自动去执行相应的处理程序,处理完该事件后再返回中断处继续执行原来的程序。。中断一般三类,一种是由CPU外部引起的,称为外中断。如I/O中断、时钟中断,一种是来自CPU内部事件或程序执行中引起的中断,例如程序非法操作,地址越界、浮点溢出)称为内中断,或者(异常,陷入),最后一种是在程序中使用了系统调用引起的。而中断处理一般分为中断响应和中断处理两个步骤,中断响应由硬件实施,中断处理主要由软件实施。中断(Interrupt原创 2020-08-28 22:38:34 · 2429 阅读 · 0 评论 -
IO多路复用之select、poll、epoll详解
转自:https://www.jianshu.com/p/dfd940e7fca2IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: 当客户处理多个描述符时(一般是交互式输入和网络套接口),必须使用I/O复用。 当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。 如果一个服务器即要处理TCP,又要处理UDP原创 2020-08-04 19:34:53 · 948 阅读 · 0 评论 -
Linux 五种IO模型
想快速了解,看文末总结。1 概念说明#在进行解释之前,首先要说明几个概念:用户空间和内核空间进程切换进程的阻塞文件描述符缓存 IO1.1 用户空间与内核空间##现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操作系统将虚拟空间划分为两部分,一原创 2020-08-04 19:03:29 · 282 阅读 · 0 评论 -
操作系统之大端小端
1. 什么是大端,什么是小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。(大部分的操作系统都是小端,而通讯协议是大端)2.为什么会有大小端:为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看原创 2020-08-03 18:30:57 · 4024 阅读 · 0 评论 -
进程间通信(IPC)之内存映射mmap和共享内存shm
一、共享内存shm1 概念:多个进程的地址空间都映射到同一块物理内存,这样多个进程都能看到这块物理内存,实现进程间通信,而且不需要数据的拷贝,所以速度最快。二、内存映射mmap1 前言:先介绍一下普通的读写文件的原理,进程调用read/write系统调用后会陷入内核,内核开始读写文件,假设内核是在读文件,内核先把文件读取到内核缓冲区,然后把内核缓冲区的数据拷贝到用户缓冲区,实际上整个过程拷贝了两次数据,即先从文件到内核缓冲区,再从内核缓冲区到用户缓冲区;2 概念:把某个文件映射到进程的地原创 2020-07-26 11:15:47 · 951 阅读 · 0 评论 -
进程间通信&线程间通信
一、多进程:首先,先来讲一下fork之后,发生了什么事情。由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是新进程(子进程)的进程 id。将子进程id返回给父进程的理由是:因为一个进程的子进程可以多于一个,没有一个函数使一个进程可以获得其所有子进程的进程id。对子进程来说,之所以fork返回0给它,是因为它随时可以调用getpid()来获取自己的pid;也可以调用getppid()来获取父进程的id原创 2020-07-26 10:58:54 · 2431 阅读 · 0 评论 -
MESI--CPU缓存一致性协议
1.概念MESI(Modified Exclusive Shared Or Invalid)(也称为伊利诺斯协议,是因为该协议由伊利诺斯州立大学提出)是一种广泛使用的支持写回策略的缓存一致性协议。2.MESI协议中的状态CPU中每个缓存行(caceh line)使用4种状态进行标记(使用额外的两位(bit)表示):M: 被修改(Modified)该缓存行只被缓存在该CPU的缓存中,并且是被修改过的(dirty),即与主存中的数据不一致,该缓存行中的内存需要在未来的某个时间点(允许其它CP原创 2020-07-21 17:55:50 · 173 阅读 · 0 评论 -
OS用户态和内核态
1、linux进程有4GB地址空间,如图所示:3G-4G大部分是共享的,是内核态的地址空间。这里存放整个内核的代码和所有的内核模块以及内核所维护的数据。2、特权级的概念:对于任何操作系统来说,创建一个进程是核心功能。创建进程要做很多工作,会消耗很多物理资源。比如分配物理内存,父子进程拷贝信息,拷贝设置页目录页表等等,这些工作得由特定的进程去做,所以就有了特权级别的概念。最关键的工作必须交给特权级最高的进程去执行,这样可以做到集中管理,减少有限资源的访问和使用冲突。inter x86架构的cp转载 2020-07-13 10:39:47 · 877 阅读 · 0 评论 -
IO多路复用及select poll epoll讲解
https://blog.youkuaiyun.com/weixin_43367828/article/details/84676775https://www.jianshu.com/p/6a68454647701.阻塞I/O模型老李去火车站买票,排队三天买到一张退票。耗费:在车站吃喝拉撒睡 3天,其他事一件没干。2.非阻塞I/O模型老李去火车站买票,隔12小时去火车站问有没有退票,三天后买到一张票。耗费:往返车站6次,路上6小时,其他时间做了好多事。3.I/O复用模型1.select/转载 2020-07-10 11:35:27 · 208 阅读 · 0 评论 -
进程线程协程-基本概念及特点
进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示原创 2020-07-09 22:48:43 · 686 阅读 · 0 评论