
操作系统
文章平均质量分 80
qianye_97
这个作者很懒,什么都没留下…
展开
-
进程和子进程
进程和子进程父子进程有独立的数据段、堆、栈,共享代码段Linux中每个进程都有4G的虚拟地址空间(独立的3G用户空间和共享的1G内核空间),fork()创建的子进程也不例外。子进程资源的由来:1G内核空间既然是所有进程共享,因此fork()创建的子进程自然也将拥有;3G的用户空间是从父进程进程而来。进程fork和写时复制fork()创建子进程时继承了父进程的数据段、代码段、栈段、堆,注意从父进程继承来的是虚拟地址空间,同时也复制了页表(没有复制物理块)。因此,此时父子进程拥有相同的虚拟地址,原创 2021-09-07 15:57:27 · 2818 阅读 · 0 评论 -
[os] 用户态和内核态
用户态切换到内核态的3种方式系统调用这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作。而系统调用的机制其核心还是使用了操作系统为用户特别开放的一个中断来实现,例如Linux的int 80h中断。异常当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态,比如缺页异常。外围设备的中断当外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停转载 2021-09-02 13:31:14 · 213 阅读 · 0 评论 -
[os] 内存管理
进程地址空间https://www.jianshu.com/p/d63b00630a3c页面置换算法1. 最佳OPT, Optimal replacement algorithm所选择的被换出的页面将是最长时间内不再被访问,通常可以保证获得最低的缺页率。是一种理论上的算法,因为无法知道一个页面多长时间不再被访问。2. 最近最久未使用LRU, Least Recently Used虽然无法知道将来要使用的页面情况,但是可以知道过去使用页面的情况。LRU 将最近最久未使用的页面换出。为了实现原创 2021-08-25 15:46:24 · 113 阅读 · 0 评论 -
[os] 零拷贝技术
看原文转载 2021-08-24 13:10:28 · 129 阅读 · 0 评论 -
[OS] 进程互斥
1、进程互斥进程的同步(Synchronization)是解决进程间协作关系( 直接制约关系) 的手段。进程同步指两个以上进程基于某个条件来协调它们的活动。一个进程的执行依赖于另一个协作进程的消息或信号,当一个进程没有得到来自于另一个进程的消息或信号时则需等待,直到消息或信号到达才被唤醒。进程的互斥(mutual exclusion )是解决进程间竞争关系( 间接制约关系) 的手段。 进程互斥指若干个进程要使用同一共享资源时,任何时刻最多允许一个进程去使用,其他要使用该资源的进程必须等待,直到占有资源原创 2021-08-21 21:20:27 · 1366 阅读 · 0 评论 -
[os] 处理机调度
1、处理机调度的3个层次要做什么调度发生在发生频率对进程状态的影响高级调度(作业调度)按照某种规则,从后备队列中选择合适的作业将其调入内存,并为其创建进程外存->内存 (面向作业)最低无->创建态->就绪态中级调度(内存调度)按照某种规则,从挂起队列中选择合适的进程将其数据调回内存外存->内存 (面向进程)中等挂起态->就绪态(或者是阻塞挂起->阻塞态)低级调度(进程调度)按照某种规则,从就绪队列中选择一个进程为其原创 2021-08-21 16:44:39 · 182 阅读 · 0 评论 -
[os] 进程
进程,线程和协程进程是操作系统资源分配的基本单位,每启动一个进程都需要向操作系统索要运行资源,默认一个进程只有一个线程,线程是依附在进程里面的线程是cpu调度的基本单位, 通过线程去执行进程中代码, 线程是执行代码的分支多进程开发比单进程多线程开发稳定性要强,但是多进程开发比多线程开发资源开销要大进程死了那么他的线程都要进行销毁先有进程,然后进程可以创建线程,线程是依附在进程里面的, 线程里面可以包含多个协程进程之间不共享全局变量,线程之间共享全局变量,但是要注意资源竞争原创 2021-08-17 15:55:05 · 341 阅读 · 0 评论