
操作系统
会飞的猪宝宝啊
这个作者很懒,什么都没留下…
展开
-
进程
一、进程 1.背景 开发操作系统是为了给应用程序提供一个方便的、安全的、一致的接口。操作系统是计算机硬件和应用程序之间的一层软件,对应用程序提供了支持。 可以把操作系统想象成为资源的统一表示,可以被应用程序请求。资源包括:内存、网络接口、文件系统等。一旦操作系统为应用程序创建了这些资源的抽象表示,就必须管理他们的使用。例如:一个操作系统可以允许资源共享和资源保护。 2.进程和进程控制块 ...原创 2018-07-18 00:50:35 · 261 阅读 · 0 评论 -
线程
一、进程与线程 1.进程特点(独立性): (1)资源所有权:一个进程包括一个存放进程映像的虚拟地址空间。 (2)调度/执行:一个进程具有一个执行状态和一个被分配的优先级,它可以被操作系统调度和分配的实体。 为了区分这两个特点:分派的单位通常称为线程或者轻量级进程,而拥有资源所有权的单位通常称为进程。 2.多线程(指操作系统在单个进程内支持多个并发执行路径的能力) 2.1在多线程环境里,...原创 2018-07-18 00:55:13 · 260 阅读 · 0 评论 -
并发:互斥与同步
并发术语 一、并发的原理 1.在单处理器的情况下,问题源于多道程序设计系+统的一个基本特性:进程的相对执行速度不可预测,它取决于其他进程的活动,操作系统处理中断的方式以及操作系统的调度策略。带来以下困难: (1)全局资源的共享危险 (2)操作系统很难对资源进行最优化分配 (3)定位程序设计错误困难 2.回显程序 void echo() { chin = getchar()...原创 2018-07-18 01:00:07 · 2420 阅读 · 0 评论 -
图解阻塞与非阻塞&同步与异步
一、阻塞I/O模型 二、非阻塞I/O模型 三、异步I/O模型 四、同步I/O模型原创 2018-11-15 21:33:59 · 299 阅读 · 0 评论 -
虚拟地址空间
虚拟地址空间: (1).text代码段:存放程序执行的一块内存区域,此区域大小在运行之前就已经确定下来了。 (2).data数据段:(全局初始化数据区/静态数据区)只初始化一次,指用来存放程序中已初始化的全局变量的一块内存区域(已经初始化的全局变量、静态变量和常量) (3).bss未初始化数据区:用来存放程序中未初始化的全局变量的一块内存区域,属于静态内存分配,程序开始就将其清零了。 (4)...原创 2018-11-14 22:53:57 · 1279 阅读 · 0 评论 -
僵尸进程和孤儿进程
进程状态 程序运行必须加载到内存中,当有过多的就绪态或者阻塞态进程在内存中没有运行,因为内存很小,有可能内存不足。系统需要把他们一定到内存外磁盘中,称为挂起状态。就绪状态的进程挂起就是挂起就绪状态,阻塞进程挂起就是阻塞挂起状态。每个进程的产生都有自己的唯一的ID号(pid),并且附带有一个它父进程的ID号(ppid)。进程死亡时,ID被回收。 进程间靠优先级获得CPU资源,时间片段轮换...原创 2018-11-19 14:46:05 · 277 阅读 · 0 评论 -
解析mmap
文件映射简易图 mmap图解 mmap详解 (一)进程启动映射过程,并且在虚拟内存空间为映射创建虚拟映射区域 1、进程调用库函数mmap 2、在当前进程的虚拟地址空间中寻找一段满足要求的空闲的连续的虚拟地址 3、为这个虚拟地址区分配一个vm_area_struct数据结构,并且对其进行初始化 4、将新建的虚拟区结构插进进程的虚拟地址区域链表或者...原创 2018-11-17 16:32:58 · 227 阅读 · 0 评论