操作系统知识点总结

技术交流QQ群:1027579432,欢迎你的加入!

欢迎关注我的微信公众号:CurryCoder的程序人生

1.内核同步的原因

  • 在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实像多进程多线程编程一样,也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。

2.同步方式

  • 原子操作、信号量(semaphore)、读写信号量(rw_semaphore)、自旋锁(spinlock)、大内核锁(BKL,Big Kernel Lock)、读写锁(rwlock)、大读者锁(brlock-Big Reader Lock)、读-拷贝修改(RCU,Read-Copy Update)、顺序锁(seqlock)

3.死锁

  • 产生原因:系统资源不足、资源分配不当、进程运行推进顺序不合适
  • 产生条件:互斥、请求和保持、不剥夺、环路
  • 预防:
    • 打破互斥条件:改造独占性资源为虚拟资源,大部分资源已无法改造
    • 打破不可抢占条件:当一进程占有一独占性资源后又申请一独占性资源而无法满足,则退出原占有的资源
    • 打破占有且申请条件:采用资源预先分配策略,即进程运行前申请全部资源,满足则运行,不然就等待,这样就不会占有且申请
    • 打破循环等待条件:实现资源有序分配策略,对所有设备实现分类编号,所有进程只能采用按序号递增的形式申请资源
    • 有序资源分配法
    • 银行家算法

4.文件系统

  • Windows:FCB 表 + FAT + 位图
  • Unix:inode + 混合索引 + 成组链接

5.主机字节序与网络字节序

  • 5.1主机字节序(CPU字节序)
    • 概念:主机字节序又叫 CPU 字节序,其不是由操作系统决定的,而是由 CPU 指令集架构决定的。主机字节序分为两种:
      • 大端字节序(Big Endian):高序字节存储在低位地址,低序字节存储在高位地址
      • 小端字节序(Little Endian):高序字节存储在高位地址,低序字节存储在低位地址


        存储方式.jpg
  • 5.2网络字节序
    • 概念:网络字节顺序是 TCP/IP 中规定好的一种数据表示格式,它与具体的 CPU 类型、操作系统等无关,从而可以保重数据在不同主机之间传输时能够被正确解释。网络字节顺序采用:大端(Big Endian)排列方式。

6.页面置换算法

  • 概念:在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。
  • 分类:
    • 全局置换:在整个内存空间置换
    • 局部置换:在本进程中进行置换
  • 算法:
    • 全局:
      • 工作集算法
      • 缺页率置换算法
    • 局部:
      • 最佳置换算法(OPT)
      • 先进先出置换算法(FIFO)
      • 最近最久未使用(LRU)算法
      • 时钟(Clock)置换算法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一章 引言和网络编程基础知识 1.1 分别简述OSI参考模型和TCP/IP模型,并阐述他们之间的对应关系 1.2...
    V0W阅读 5,642评论 0 9
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,398评论 0 5
  • 1. 网络编程: TCP协议三次握手:客户端向服务器发送一个 SYN J;服务器向客户端响应一个SYN K(同步信...
    安安zoe阅读 617评论 0 1
  • 周六到晚上8点回家。儿子在体能乐园玩了一下午。回的路上在车上就要睡觉。下车的时候都不想动,刚一进电梯就说妈妈,我回...
    四叶草_3ddd阅读 308评论 0 0
  • 正式工作已经2个月了,还没写过工作的感想,现在就跟大家分享一下。也算对自己的一个交代,明天好好的回校,完成继续的事...
    抠脚小姐姐阅读 345评论 0 1

友情链接更多精彩内容