10 2021 档案

现代操作系统:进程与线程(六)
摘要:2.3 Process Scheduling进程调度 注意:我们将在2.3节之前做2.4节,因为2.3节和2.5节是密切相关的;在我看来,介于2.4之间似乎有些尴尬。在处理器上调度进程通常称为处理器调度、进程调度、简单地调度。正如我们在本课程后面将看到的,更准确的名称是短期处理器调度。当我们学习调度 阅读全文

posted @ 2021-10-26 11:11 ThomasZhong 阅读(123) 评论(0) 推荐(0)

现代操作系统:进程与线程(五)
摘要:Challenges and Questions挑战和问题 假设一个进程有几个线程,如果这些线程之一执行了以下操作,会发生什么? 执行fork()开辟一个新进程; 关闭一个文件; 请求更多的内存; 通过lseek移动文件指针; 看一个好玩的问题理解一下: pid_t pid1 = -1, pid2 阅读全文

posted @ 2021-10-26 11:07 ThomasZhong 阅读(204) 评论(0) 推荐(0)

现代操作系统:进程与线程(四)
摘要:2.2 线程 进程的一个关键特性是进程具有一定的隔离性:当一个程序执行x++时,在同时运行的另一个程序中的x值并不会增加,但是这一特性同样会带来一些问题。 如上图所示,线程背后的思想是让多个控制线程在单个进程的地址空间中运行。地址空间是一个内存管理的概念,在本章节中我们可以先将地址空间看成是进程运行 阅读全文

posted @ 2021-10-26 11:05 ThomasZhong 阅读(105) 评论(0) 推荐(0)

现代操作系统:进程与线程(三)
摘要:2.1.5 进程的实现 操作系统将关于每个进程的数据组织在一个表中,很自然地称为进程表(Process Table)。该表中的每一项称为一个进程表项(Process Table Entry)或进程控制块(Process Control Block)。 进程表的特点:a. 每个进程表项表示一个进程;b 阅读全文

posted @ 2021-10-26 11:01 ThomasZhong 阅读(218) 评论(0) 推荐(0)

现代操作系统:进程与线程(二)
摘要:2.1.4 Process States and Transitions进程状态和转换 首先只需要看上面一个三角形之间的关系,首先表明了进程的三个基本状态: Running运行态:进程的外部执行条件满足(已获取到运行时需要的资源)且进程已获得CPU,表明该进程正在执行,单处理器系统中(单核)有且只有 阅读全文

posted @ 2021-10-26 10:56 ThomasZhong 阅读(135) 评论(0) 推荐(0)

现代操作系统:进程与线程(一)
摘要:2 Process and Thread Management 进程和线程管理 Tanenbaum的章节标题是进程和线程。我更喜欢加上“管理”这个词。主题是进程、线程、调度、中断处理和IPC(Inter-Process Communication—and Coordination进程间通信和协调)。 阅读全文

posted @ 2021-10-26 10:53 ThomasZhong 阅读(171) 评论(0) 推荐(0)

现代操作系统:概述(五)
摘要:1.8 Operating System Structure 操作系统结构 我必须指出Tanenbaum是所谓的微内核方法的强烈拥护者,在这种方法中,尽可能多地将内核从(管理模式)移到独立的(用户模式)进程中(我推荐他在2016年3月发表的文章)。管理器模式中剩下的(希望是很小的)部分称为微内核。 阅读全文

posted @ 2021-10-03 22:38 ThomasZhong 阅读(240) 评论(0) 推荐(0)

现代操作系统:概述(四)
摘要:1.7 Addendum on Transfer of Control 控制权限的转换 用户进程和操作系统内核之间的控制传递可能非常复杂,特别是在阻塞系统调用、硬件中断和页面错误的情况下(都会产生中断,但区分为Trap和Interrupt)。我们稍后再处理这些问题;这里我们研究一个熟悉的用户模式进程 阅读全文

posted @ 2021-10-03 22:35 ThomasZhong 阅读(137) 评论(0) 推荐(0)

现代操作系统:概述(三)
摘要:1.6 System Calls 系统调用 系统调用是用户在用户态下直接与操作系统交互的机制,即系统向用户提供了一些对系统进行控制的函数,是用户与系统间的桥梁。 当用户执行像read()这样的系统调用时会发生什么? 我知道您不太可能直接使用read(),当您需要读取文件或键盘时,如果您使用C编程,则 阅读全文

posted @ 2021-10-03 22:30 ThomasZhong 阅读(146) 评论(0) 推荐(0)

现代操作系统:概述(二)
摘要:1.5 Operating System Concept 操作系统概念 1.5.0 Processes 进程 进程就是执行中的程序。如果你打开一个程序两次(如计算器)那么就是两个计算器独立的进程。通常,我们将进程的状态或上下文(它的地址空间(大致是它的内存映像)、打开的文件等)与控制线程区分开来。如 阅读全文

posted @ 2021-10-03 22:25 ThomasZhong 阅读(169) 评论(0) 推荐(0)

现代操作系统:概述(一)
摘要:章节1:概述 1.0.0 抽象层次 软件通常在某一层中实现,底层为高层提供支撑。很好理解,Kernel可以通过System Call操作Hardware;Libraries通常是Kernel提供的System Call的带缓冲区的函数封装如:exit和_exit函数;UI是在Libraries和Ke 阅读全文

posted @ 2021-10-03 22:19 ThomasZhong 阅读(720) 评论(0) 推荐(0)

现代操作系统:链接器
摘要:章节0:链接器 链接器是操作系统分配中包含的实用程序的示例。与编译器一样,链接器本身不是操作系统的一部分,即它不以主管模式运行。与编译器不同,它依赖于操作系统(使用什么对象/负载文件格式),并且不(固有)源语言依赖。 0.0.1 C语言的编译过程 https://blog.csdn.net/weix 阅读全文

posted @ 2021-10-03 22:09 ThomasZhong 阅读(440) 评论(0) 推荐(0)

导航