Skip to content

Latest commit

 

History

History
86 lines (74 loc) · 5.3 KB

os_linux.md

File metadata and controls

86 lines (74 loc) · 5.3 KB

计算机组成原理

  • 虚拟内存和物理内存

  • 什么是进程

  • 操作系统层面的锁

    • 自旋锁
      • 当一个线程尝试去获取某一把锁的时候,如果这个锁此时已经被别人获取(占用),那么此线程就无法获取到这把锁,该线程将会等待,间隔一段时间后会再次尝试获取。这种采用循环加锁 -> 等待的机制被称为自旋锁(spinlock)
      • 自旋锁避免了操作系统进程调度和线程切换,所以自旋锁通常适用在时间比较短的情况下
      • 自旋锁的目的是占着CPU资源不进行释放,等到获取锁立即进行处理
      • 适用场景: 对资源竞争不激烈,或者说持有锁的线程时间很短
    • mutex
      • 用于多线程编程中,防止两条线程同时对同一公共资源(也可以说是临界资源,就是能够被多个线程共享的数据)进行读写的机制
      • mutex的本质是一种变量
  • 水平触发和边缘触发

  • C/S模型中,应用层调用close后会发生什么

  • 操作系统虚拟内存的作用是什么

  • 操作系统中断是什么

  • linux 系统 查看日志实时刷新

  • linux查看内存

  • linux查看应用程序端口 ps -ef | grep nginx

  • 操作系统中线程和进程的对应关系,进程和线程的状态有哪些?

  • 进程和线程不同状态直接的转移具体操作有哪些操作?具体说明一下,一个进程从运行态转入阻塞态有哪些情况

  • 操作系统的虚拟地址和物理地址,虚拟地址到物理地址的转换过程,说一下页式管理的方式的转换过程

  • 也表里具体存的是什么,能具体说明一下吗?

  • io-wait是做什么的

  • 题目:已知方法 curl 要求实现 MutilCurl 能够制定并发请求数量,并返回请求错误

  • epoll 原理? select原理? 什么水平触发 边缘触发?

  • linux中io_wait在哪里用过

  • tcp/ip协议中,第一次分手,server端回复fin ack后进入什么状态?对应在linux系统中的文件描述在哪里?

  • 简述一下线程切换的完整过程

  • 操作系统的线程模型有哪几种

  • cache 如何实现回写

  • 说说cache 流程,cache snoop 协议

  • 你还用到了阿里云对象存储存储图片文件?那没有有用到它的其他一些功能?它是怎么收费的?图片加 速用过吗?

  • 如何查看进程的状态查看进程的网络状态
   ps -l   列出与本次登录有关的进程信息;
   ps -aux   查询内存中进程信息;
   ps -aux | grep ***   查询***进程的详细信息;
   top   查看内存中进程的动态信息;
   kill -9 pid   杀死进程。

  • 为什么进程->线程->协程占用内存越来越小?

  • 协程会一直占用cpu资源吗

  • 进程/线程 切换时的调度算法
操作系统中常用的进程/线程调度算法包括:

先来先服务 (FCFS):按照任务到达的顺序进行调度,优先处理先到达的任务,适用于短期任务。

短作业优先 (SJF):根据任务的执行时间进行调度,优先处理执行时间短的任务,适用于长期任务。

优先级调度:根据任务的优先级进行调度,优先处理优先级高的任务。

时间片轮转:每个任务被分配一个固定的时间片,在时间片用完之前执行完任务,如果任务没有执行完,则被挂起,等待下一次调度。

多级反馈队列调度:将任务按照执行时间和优先级划分到不同的队列中,任务在队列中依次执行,如果执行时间过长,则被移动到优先级更低的队列中,以避免任务占用过多的CPU资源。

  • 线程切换的过程
保存当前线程的上下文:线程在执行过程中会使用CPU寄存器、栈、程序计数器等CPU资源,需要将这些资源的状态保存下来,以便在恢复线程时可以继续执行。

选择下一个要执行的线程:操作系统会根据调度算法选择下一个要执行的线程,并将其状态设置为“运行”状态。

恢复下一个线程的上下文:操作系统从被选中的线程的上下文中恢复寄存器、栈、程序计数器等状态,并将CPU控制权转移给该线程。

执行线程:被恢复的线程从其上次暂停的地方继续执行,直到线程自己选择让出CPU或者时间片用完,或者被其他线程抢占。

  • 写时复制?(操作系统)