Linux常用命令总结

目录切换命令 cd usr: 切换到该目录下 usr 目录 cd ..(或cd../): 切换到上一层目录 cd /: 切换到系统根目录 cd ~: 切换到用户主目录 cd -: 切换到上一个操作所在目录 目录的操作命令(增删改查) mkdir 目录名称: 增加目录。 ls/ll(ll 是 ls -l 的别名,ll 命令可以看到该目录下的所有目录和文件的详细信息):查看目录信息。 f...

进程状态与僵尸进程、孤儿进程

进程状态一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态即体现一个进程的生命状态 一般来说,进程有五种状态: 创建状态: 进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态 就绪状态: 进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即...

同一线程组下的线程,一个线程的异常会影响其他线程运行么?

当一个线程抛出OOM异常后,它所占据的内存资源会全部被释放掉,从而不会影响其他线程的运行! 一个线程溢出后,进程里的其他线程还能照常运行。 同一线程组下的线程,一个线程出现异常不会影响其他线程的运行。

线程崩溃必会使进程崩溃吗?

结论:线程崩溃不一定导致进程崩溃。 线程崩溃的本质就是内存出错。而内存出错有时不会引起其他线程出错的,因为崩溃的线程,也就是出错的内存有时侯没有被其他线程访问,也就不会产生问题,但有时候会打乱其他线程的内存。

操作系统之内存管理

1、内存管理介绍操作系统的内存管理主要负责内存的分配与回收(malloc 函数:申请内存,free 函数:释放内存),另外地址转换也就是将逻辑地址转换成相应的物理地址等功能也是操作系统内存管理做的事情。 2、常见的几种内存管理机制简单分为连续分配管理方式和非连续分配管理方式这两种。连续分配管理方式是指为一个用户程序分配一个连续的内存空间,常见的如块式管理。同样地,非连续分配管理方式允许一...

操作系统IO模型

IO模型的分类:主要有同步IO、异步IO、阻塞IO、非阻塞IO…

虚拟内存和局部性原理

1、什么是虚拟内存(Virtual Memory)?这个在我们平时使用电脑特别是 Windows 系统的时候太常见了。很多时候我们使用点开了很多占内存的软件,这些软件占用的内存可能已经远远超出了我们电脑本身具有的物理内存。为什么可以这样呢? 正是因为 虚拟内存 的存在,通过 虚拟内存 可以让程序可以拥有超过系统物理内存大小的可用内存空间。另外,虚拟内存为每个进程提供了一个一致的、私有的地...

IO多路复用

举例现实场景来理解我们试想一下这样的现实场景: 一个餐厅同时有100位客人到店,当然到店后第一件要做的事情就是点菜。但是问题来了,餐厅老板为了节约人力成本目前只有一位大堂服务员拿着唯一的一本菜单等待客人进行服务。 方法A 无论有多少客人等待点餐,服务员都把仅有的一份菜单递给其中一位客人,然后站在客人身旁等待这个客人完成点菜过程。在记录客人点菜内容后,把点菜记录交给后堂厨师。然后是第二位...

缺页中断及页面置换算法

缺页中断在请求分页系统中,可以通过查询页表中的状态位来确定所要访问的页面是否存在于内存中。每当所要访问的页面不在内存时,会产生一次缺页中断,此时操作系统会根据页表中的外存地址在外存中找到所缺的一页,将其调入内存。 缺页本身是一种中断,与一般的中断一样,需要经过4个处理步骤: 保护CPU现场 分析中断原因 转入缺页中断处理程序进行处理 恢复CPU现场,继续执行 但是缺页...

多线程和多进程及其应用场景

多进程多线程的区别 进程是分配资源的基本单位;线程是系统调度和分派的基本单位。 属于同一进程的线程,堆是共享的,栈是私有的。 属于同一进程的所有线程都具有相同的地址空间。 多进程的优点:①编程相对容易;通常不需要考虑锁和同步资源的问题。 ②更强的容错性:比起多线程的一个好处是一个进程崩溃了不会影响其他进程。 ③有内核保证的隔离:数据和错误隔离。 对于使用如C/C++这些语言编写的...