Linux 高性能服务器编程:高性能服务器架构二 7
两种高效的并发模式 并发编程的目的是让程序“同时”执行多个任务。 如果程序是计算密集型的,并发编程并没有优势,反而由于任务的切换使效率降低。 但如果程序是I/O密集型的,比如经常读写文件,访问数据库等,则情况就不同了。 由于I/O操作的速度远没有CPU计算速度快,所以让程序阻塞I...
两种高效的并发模式 并发编程的目的是让程序“同时”执行多个任务。 如果程序是计算密集型的,并发编程并没有优势,反而由于任务的切换使效率降低。 但如果程序是I/O密集型的,比如经常读写文件,访问数据库等,则情况就不同了。 由于I/O操作的速度远没有CPU计算速度快,所以让程序阻塞I...
badblocks 功能说明:检查磁盘装置中损坏的区块。 语 法:badblocks [-svw][-b <区块大小>][-o <输出文件>][磁盘装置][磁盘区块数][启始区块] 补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。 参...
实体机 虚拟机 环境 kylin虚拟机 kylin基于ubuntu 所以ubuntu和debian可能都可以使用这个方法 忘记密码 root用户的密码忘记了是找不回的,只能想办法重置 后续文档记录了成功重置了root密码的过程 普通用户的密码忘记了,可以切到root用户下,按以下...
高性能定时器 时间论 基于排序链表的定时器存在一个问题:添加定时器的效率偏低 时间论解决了这个问题 上图所示时间论,(实线)指针指向轮子的一个槽(slot)。 它恒定的速度顺时针转动,每转动一步就指向下一个槽(虚线指向的槽),每次转动称为一个滴答(tick)。 一个滴答的时间称为...
进程描述 进程是一个程序一次执行的过程,它和程序有本质区别。 程序是静态的,它是一些保存在磁盘上的指令的有序集合。 而进程是一个动态的概念。它是一个运行着的程序,包含了进程的动态创建、调度和消亡的过程,是Linux的基本调度单位。 进程是os的最小单元 os会为每个进程分配大小为...
信号 信号是进程在运行过程中,由自身产生或由进程外部发过来的消息(事件)。 信号是硬件中断的软件模拟(软中断)。 每个信号用一个整型常量宏表示,以SIG开头,比如SIGCHLD、SIGINT等,它们在系统头文件中定义,也可以通过在shell下键入* kill –l查看信号列表,或...
linux操作系统启动过程 第一个进程 在传统的Unix和Linux系统中,init进程是系统启动后的第一个进程(PID为1) 它是系统的祖先进程,负责启动其他所有的进程 在许多现代Linux发行版中,systemd已经取代了传统的init系统 在这些系统中,systemd是第一...
进程间打开文件的继承 fork以后的子进程自动继承了父进程的打开的文件,继承以后,父进程关闭打开的文件不会对子进程造成影响 守护进程 Daemon运行在后台也称作“后台服务进程”。 它是没有控制终端与之相连的进程。它独立与控制终端、通常周期的执行某种任务。 那么为什么守护进程要脱...
线程的互斥 在Posix Thread中定义了一套专门用于线程互斥的mutex函数。mutex是一种简单的加锁的方法来控制对共享资源的存取,这个互斥锁只有两种状态(上锁和解锁),可以把互斥锁看作某种意义上的全局变量。为什么需要加锁,就是因为多个线程共用进程的资源,要访问的是公共区...
搜索当前分类