摘要:
在vim中,可以直接输入":make"命令进行编译,并且在vim中会显示错误提示,可以分别通过:cl、:cn、:cp、:cfirst、:clast实现列出全部、跳到下一条、返回上一条、跳到第一条、跳到最后一条错误信息的功能。如果想查看完整的错误信息列表,可以通过:copen打开quickfix文件, 阅读全文
摘要:
CPU调度的概念:按一定的调度算法从就绪队列中选择一个进程,并将CPU的使用权交给被选中的进程 CPU调度要解决的三个问题: 调度算法——包括多方面的考虑 用户角度的考虑:(1)性能:周转时间、响应时间、最后期限;(2)其他:可预测性 系统角度的考虑:(1)性能:吞吐量、CPU利用率;(2)其他:公 阅读全文
摘要:
进程 进程的定义:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进程资源分配和调度的独立单位。进程又称为任务。 进程的特点: 程序的一次执行过程 是正在运行程序的抽象 将一个CPU变幻成多个虚拟CPU 系统资源以进程为单位进行分配,如内存、文件等,每个进程具有独立的地址空间 操作系 阅读全文
摘要:
中断和异常的区别:中断来自外部,可以称为外中断;异常来自内部,可以称为内中断。 常见的中断:IO中断、时钟中断等 常见的异常:程序性异常如溢出、页错误、保护性异常、系统调用(主动产生的异常,类似于软件中断的概念,常被操作系统用于陷入内核) 中断/异常发生时,硬件和软件各自发挥的作用: 硬件(中断系统 阅读全文
摘要:
操作系统的五大基本功能: 进程/线程管理(CPU管理):进程/线程状态、控制、同步互斥、通信、调度... 存储管理:分配回收、地址转换、存储保护、地址扩充... 文件管理:文件目录、文件操作、磁盘空间、文件存取控制... 设备管理:设备驱动、分配回收、缓冲技术... 用户接口:系统命令、缓冲接口.. 阅读全文
摘要:
常用的重定向如who->userlist.txt将who的输出定向到文件userlist.txt,这是如何做到的呢? who的默认输出对象是标准IO中的stdout,文件描述符为1,而重定向所做的事情是将文件描述符1从默认的tty设备文件移开,而重新分配给其他文件,在本例中为userlist.txt 阅读全文
摘要:
在本章写远程ls程序rls.c和rlsd.c时,while( msglen = read( sock_id, message, BUFSIZ ) > 0 )导致了严重的错误——客户端收到服务器返回的信息,但什么都不打印。 具体代码如下: /* rls.c - client program of re 阅读全文
摘要:
背景:之前用管道连接2个进程时(pipe ls head、pipe who sort...),需要两个管道,但为什么不能用一根管道呢? 一个进程可以从管道的读端口读取另一个进程发来的控制信号,然后再从写端口将结果发送回去啊!解答:这样会导致数组错乱。因为当你从写端口将算出来的结果发送回去后,一般会立 阅读全文
摘要:
任何数据的源或目的都被Unix视为文件,基本的系统调用既使用与磁盘文件也同样适用于设备文件,他们的区别体现在对连接(文件描述符)的操作上。磁盘文件的文件描述符包含对缓冲属性和扩展属性的定义代码。终端的文件描述符包含编辑、回显、字符转换和其他操作的属性定义代码。 阅读全文
摘要:
本篇文章总结了LeetCode题目53 最大子序列和中使用的分治算法 53. 最大子序和 题目类型 分治 动态规划 做题总结 分治算法:实现方式:循环递归 在每一层递归上都有三个步骤: 分解:将原问题分解为若干个规模较小、相对独立、与原问题形式相同的子问题 解决:若子问题规模较小且容易解决时,则直接 阅读全文