操作系统Day01
什么是操作系统?
资源分配和回收。
将硬件资源封装起来,提供相对统一的接口。
控制进程的生命周期。
进程:
概念:
编译代码的可执行文件,运行时被加载到内存,CPU执行内存的指令运行的程序,就是进程的概念。
进程是运行时程序的封装,操作系统进行资源调度和分配的基本单位。
进程表:
包含了进程状态的重要信息,方便进程状态转换后能够随时再次顺利运行。
并发和并行:
并发:单核快速执行多个
并行:多核同时执行多个
进程的状态:

运行态:CPU占用
就绪态:可运行,等待CPU分配时间片
阻塞态:等待某个事件而进行阻塞,如IO阻塞。由于阻塞态占用物理内存,在虚拟内存管理的操作系统会先把阻塞态进程的物理内存空间让出来,把阻塞进程挂起到外存(硬盘),等需要的时候再进行分配。
挂起态:进程没有实际占用物理内存空间的状况
阻塞挂起:阻塞时候,被挂起,需要的时候再激活。物理内存先让给别人。
就绪挂起:进程在外存挂起,等进入内存就可以运行。
运行态到就绪态的相互转换需要调度算法来完成。
进程控制块(PCB):
PCB是用来标识进程存在的数据结构。结构包含:进程描述信息、进程控制和管理信息、进程资源分配清单、CPU相关信息
然后把PCB快通过链表的方式组织起来,形成就绪队列,阻塞队列,方便进行管理。
进程的切换为什么比线程切换慢?
进程的切换涉及虚拟地址空间的切换,而线程共享所在进程的虚拟地址空间,不需要进程虚拟地址空间的切换。
虚拟地址->物理地址,需要查找页表,页表的查找是个慢操作,需要至少2次IO,因此常用快表(TLB)来缓存地址映射加快速度。
每个进程有自己的虚拟地址空间,页表。进程切换页表切换,TLB也就失效了,那么虚拟空间地址--->物理空间地址就非常慢了。
守护进程:
在后台运行,周期性的执行某种任务。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!