操作系统
Pr Young
一个踏实努力,充满激情的程序员!
展开
-
协程简单介绍
协程不被操作系统内核所管理,完全由程序所控制,也就是说是在用户态下执行,这样协程切换不用像线程切换那样消耗资源。被称为“轻量级线程”、“微线程”、“纤程(fiber)”,线程中的线程等。一个线程里多个协程的运行是串行的,当一个协程运行时,其他协程必须挂起。简单来说可以认为协程是线程里不同的函数,这些函数之间可以相互。协程可以被挂起,并且重新在挂起处继续运行。协程是一种比线程更轻量级的存在,原创 2023-03-05 20:24:06 · 66 阅读 · 0 评论 -
僵尸进程和孤儿进程
父进程调用fork()生产子进程,子进程先于父进程退出,但是父进程没有调用wait()方法或者是waitpid()方法回收子进程的资源,子进程就变成了僵尸进程,这个进程号会一直被占用。使用signal函数,当子进程结束,父进程就会收到该信号,父进程再调用wait()方法或者是waitpid()方法回收子进程的资源。当子进程退出的时候,1号进程(也就是init进程)会回收子进程的资源,防止子进程变成僵尸进程。孤儿进程:父进程先于子进程退出,子进程会被1号进程也就是init进程领养。原创 2023-03-05 18:58:13 · 63 阅读 · 0 评论 -
进程控制块 PCB
每个进程在内核中都会有一个进程控制块PCB。用来维护进程的基本信息和运行状态。原创 2023-03-05 16:14:15 · 180 阅读 · 0 评论 -
用户态和内核态,系统调用
系统调用:是操作系统提供给应用程序的接口(供应用程序调用的特殊函数),应用程序使用系统调用来获得操作系统的服务。内核态:可以访问内存所有数据,而且可以访问外围设备(硬盘,网卡),cpu也可以将自己从一个程序切换到另一个程序。用户态:只能受限的访问内存,且不允许访问外围设备,占用cpu的能力被剥夺,cpu资源可以被其他程序获取。内核态和用户态的区别就是权限不同,内核态处于权限0,权限较高,用户态处于权限3,权限较低。特权指令:具有特殊权限的指令,比如清内存,重置时钟,分配系统资源,修改用户的访问权限。原创 2023-03-05 16:07:08 · 759 阅读 · 0 评论 -
进程间通信方式
管道这种进程通信方式只能在父子进程和兄弟进程之间进行通信的时候使用,比如图中就是父子进程进行通信时使用,孩子进程调用fd[1],将消息发送到管道里面,然后父亲进程调用fd[0]进行读取消息。通过调用pipe函数来创建管道,定义一个fd数组,这个数组容量为2,只有两个元素fd[0]和fd[1]如图所示:客户进程写消息到FIFO中,然后服务器进程去FIFO中读取。fd[0]用于从管道中读取消息,fd[1]用于将消息发送到管道中。5.共享存储 多个进程共享一个给定的存储区。进程之间进行通信,传输一些信息。原创 2023-01-21 18:14:13 · 71 阅读 · 0 评论 -
进程调度算法
只有第一个队列中没有任务之后,才会去执行第二个队列的任务,只有第二个队列没有任务之后,才会去执行第三个队列的任务..........该算法优先运行短时间作业,以提高CPU整体的利用率和系统运行效率,某些大任务可能会出现长时间得不到调度的情况。按照先来先服务的原则从队列中取出一个任务,这个任务执行完一个时间片,就轮到下一个任务执行一个时间片了。3.第一个队列的一个任务运行完之后,将它放到第二个队列的队尾继续等待cpu调度。1.设置多个队列,同一个队列中的任务使用时间片轮转算法。不同队列的时间片不同。原创 2022-10-02 10:46:00 · 374 阅读 · 0 评论 -
一句话总结操作系统
管理进程,管理内存,管理文件,管理I/O设备。原创 2022-08-22 22:43:32 · 158 阅读 · 0 评论 -
操作系统之进程管理
1.进程,线程,协程(1)进程是资源分配的最小单位,线程是 CPU 调度的最小单位(2)一个进程在执行的过程种可能产生一个线程,也可能产生多个线程(3)进程之间相互独立,一个进程出问题不会影响到另一个进程,虽然线程之间也是独立运行的,但是一个进程种的线程会共用一些资源,所以同一个进程的线程之间很有可能会相互影响(4)多个线程共享进程的堆和方法区,每个线程有自己的程序计数器,虚拟机栈,本地方法栈(5)协程属于线程,协程程序在线程里面跑,因此协程又称微线程。 协程是在用户态...原创 2022-05-21 22:51:49 · 111 阅读 · 0 评论