随笔分类 - 操作系统
摘要:1 mpstat mpstat是Multiprocessor Statistics的缩写,是实时监控工具,报告与CPU一些统计信息这些信息都存在/proc/stat文件中,在多CPU系统里,其不但能查看所有的CPU的平均状况的信息,而且能够有查看特定的CPU信息,mpstat最大的特点是可以查看多核
阅读全文
摘要:linux系统开机流程 1. 机器开机通电bios质检,质检通过后,bios会根据boot菜单,选择从硬盘启动。 2. 读取硬盘中的MBR(主引导记录),加载引导程序(linux中是grub),grub程序会加载系统kernel和虚拟文件系统。 3. 系统会运行init程序,该进程会读取/etc/i
阅读全文
摘要:1 什么是死锁 所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。 举个例子来描述,如果此时有一个线程A,按照先锁a再获得锁b的的顺序获得锁,而在此同时又有另外一个线程B,按照先锁b再锁a的顺序获得锁。 2 产生死锁的原因
阅读全文
摘要:Linux操作系统下使用不同的命令工具可以从不同的角度查看进程状态,常用的进程查看命令如下: 1 ps命令 ps命令的作用是查看静态的进程统计信息(Processes Statistic),常见的选项如下: 1)a:显示当前终端下的所有进程信息,包括其他用户的进程。 2)u:使用以用户为主的格式输出
阅读全文
摘要:C++内存管理中内存泄露(memory leak)一般指的是程序在申请内存后,无法释放已经申请的内存空间,内存泄露的积累往往会导致内存溢出。 一、内存分配方式 通常内存分配方式有以下三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,
阅读全文
摘要:IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 (3)如果一个TCP服务器既要处
阅读全文
摘要:一、进程和线程 (1)进程:进程是资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进
阅读全文
摘要:在系统中所有的进程之间是共享CPU和主存这些内存资源的。当进程数量变多时,所需要的内存资源就会相应的增加。可能会导致部分程序没有主存空间可用。此外,由于资源是共享的,那么就有可能导致某个进程不小心写了另一个进程所使用的内存,进而导致程序运行不符合正常逻辑。为了更加有效的管理内存并少出错,现代系统提供
阅读全文