操作系统
文章平均质量分 74
Kashine
欢迎大家加入QQ群交流,编程语言、单片机、linux应用驱动等技术
展开
-
【004 操作系统】线程有哪些资源是共享的,栈是自己独有的吗?
虽然对于局部变量来说,它在代码中是“放”在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的。由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此new出来的都是共享的(16位平台上分全局堆和局部堆,局部堆是独享的)这个是共享的,使用这些公共资源的线程必须同步。Win32 提供了几种同步资源的方式,包括信号、临界区、事件和互斥体。这个可能会误解,因为电脑的寄存器是物理的,每个线程去取值难道不一样吗?它是与具体某一函数无关的,所以也与特定线程无关;转载 2023-08-16 09:41:31 · 695 阅读 · 0 评论 -
【003 操作系统】进程间通信方式有哪些?有什么优缺点?
管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。原创 2023-07-30 23:20:45 · 1200 阅读 · 0 评论 -
【002 操作系统】进程的状态及状态转换图?
NULL -> 创建状态:一个新进程被创建时的第一个状态;创建状态 -> 就绪状态:当进程被创建完成并初始化后,一切就绪准备运行时,变为就绪状态,这个过程是很快的;就绪态 -> 运行状态:处于就绪状态的进程被操作系统的进程调度器选中后,就分配给 CPU 正式运行该进程;运行状态 -> 结束状态:当进程已经运行完成或出错时,会被操作系统作结束状态处理;运行状态 -> 就绪状态。原创 2023-07-30 14:41:15 · 4055 阅读 · 0 评论 -
【001 操作系统】什么是线程、进程?线程进程的区别是什么?
进程是资源分配的基本单位,它是程序执行时的一个实例,在程序运行时创建。在Linux环境下,每个进程有自己各自独立的 4G 地址空间,大家互不干扰对方,如果两个进程之间通信的话,还需要借助第三方进程间通信工具 IPC 才能完成。不同的进程通过页表映射,映射到物理内存上各自独立的存储空间,在操作系统的调度下,分别轮流占用CPU去运行,互不干扰、互不影响,甚至相互都不知道对方。原创 2023-07-22 15:06:25 · 3521 阅读 · 0 评论 -
【000 操作系统】实时操作系统和分时操作系统的区别
时钟信号能够准确的定时,各处的时钟能够达到一致。硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。软实时系统是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。硬实时和软实时之间硬实时系统可以提供严格的实时保证,而软实时系统只能提供统计意义上的实时性。例如,有的应用要求系统在95%的情况下都会确保在规定的时间内完成某个动作,而不一定要求100%。原创 2023-07-29 10:54:17 · 2551 阅读 · 0 评论