合集-操作系统
摘要:地址转换 访问内存 内存 在程序中得到逻辑地址,先通过地址转换机构得到物理地址, 也就是通过查找页表找到对应的物理地址,请注意,这里有一个TLB用于加快查找页表的过程 页表中存储的是逻辑页和物理页的映射。物理页地址加上页内地址才是完整的地址 TLB中存储的是最近访问的页表项,如果TLB命中就停止去内
阅读全文
摘要:什么是数据复制/数据拷贝(Copy)? 拷贝(Copy)数据,主要包括两种:CPU拷贝/ DMA拷贝。 第一类拷贝:CPU 拷贝(CPU Copy) 在 CPU 拷贝中,数据的传输是由中央处理器(CPU)直接进行的。当数据需要从一个内存区域拷贝到另一个内存区域时,CPU 首先将数据从源内存区域读取到
阅读全文
摘要:进程 进程、线程、协程的概念 进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。 线程:是进程的一个执行单元,是进程内的调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。 协程:是一种比线程更加轻量级的存在。一个线程也可以拥有多
阅读全文
摘要:管道,消息队列,信号量,socket,共享内存 管道 在 Java 中,可以使用管道通过进程间通信。以下是一个简单的例子,展示了如何通过 ProcessBuilder 创建两个进程,并使用输入和输出流进行通信。 示例代码 import java.io.BufferedReader; import j
阅读全文
摘要:进程调度算法 进程调度算法也称 CPU 调度算法,毕竟进程是由 CPU 调度的。 当 CPU 空闲时,操作系统就选择内存中的某个「就绪状态」的进程,并给其分配 CPU。 什么时候会发生 CPU 调度呢?通常有以下情况: 当进程从运行状态转到等待状态; 当进程从运行状态转到就绪状态; 当进程从等待状态
阅读全文
摘要:线程 你可能已经很熟悉多任务(multitasking),这是操作系统的一种能力,看起来可以在同一时刻运行多个程序。例如,在编辑或下载邮件的同时可以打印文件。如今,人们往往都有多CPU的计算机,但是,并发执行的进程数目并不受限于CPU数目。操作系统会为每个进程分配CPU时间片,给人并行处理的感觉。多
阅读全文
摘要:线程在 Linux 中的实现 线程机制是现代编程技术中常用的一种抽象概念。该机制提供了在同一程序内共享内存地址空间运行的一组线程。这些线程还可以共享打开的文件和其他资源。线程机制支持并发程序设计技术(concurrent programming),在多处理器系统上,它也能保证真正的并行处理(para
阅读全文
摘要:单核处理器能够支持多线程执行代码就是因为线程的上下文切换。具体是如何做到的呢?CPU通过给每个线程分配CPU时间片来实现这个机制。什么是时间片?CPU分配给每个线程的时间。时间片非常短一般几十ms。CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的。 什么是线程上下文切换 什么是上下文切换
阅读全文
摘要:死锁 死锁是指在并发系统中,两个或多个进程因为互相等待对方释放资源而无法继续执行的状态。 死锁发生的条件通常包括以下四个条件: 互斥条件(Mutual Exclusion):至少有一个资源被标记为只能被一个进程占用,即一次只能有一个进程使用该资源。 请求与保持条件(Hold and Wait):一个
阅读全文
摘要:当CPU想要访问一个逻辑地址的时候,我们需要做两个步骤,地址转换和内存访问 地址转换 逻辑地址是程序内部使用的地址,并非真正的物理地址。 从逻辑地址到物理地址的映射,由页表来完成,页表的内容包括,逻辑页号,物理页号,有效位,有效位表示这一页是否在内存中。 页表存放在内存中,如果需要频繁访问页表,需要
阅读全文
摘要:从阻塞 I/O 到 I/O 多路复用 阻塞 I/O,是指进程发起调用后,会被挂起(阻塞),直到收到数据再返回。如果调用一直不返回,进程就会一直被挂起。因此,当使用阻塞 I/O 时,需要使用多线程来处理多个文件描述符。 多线程切换有一定的开销,因此引入非阻塞 I/O。非阻塞 I/O 不会将进程挂起,调
阅读全文
摘要:Blocking I/O, Nonblocking I/O, And Epoll January 10, 2017 In this post I want to explain exactly what happens when you use nonblocking I/O. In particu
阅读全文
摘要:用户态内核态 用户态线程和内核态线程有什么区别? 这是一个组合型的问题,由很多小问题组装而成,比如: 用户态和内核态是什么? 用户级线程和内核级线程是一个怎样的对应关系? 内核响应系统调用是一个怎样的过程? 什么是用户态和内核态 Kernel 运行在超级权限模式(Supervisor Mode)下,
阅读全文
摘要:  