← 返回目录

操作系统

第 46 / 152 卷日期:

2、SQL语言四大类别

3、垂直分表和水平分表

4、淘汰策略【页式系统】

5、任务(进程)调度算法

操作系统

系统调用与库函数的区别

1、系统调用

(1)操作系统提供了一组特殊接口——系统调用

通过这组接口用户程序可以使用操作系统内核提供的各种功能。例如分配内存、创建进程、实现进程之间的通信等。

(2)用户程序向操作系统提出请求的接口就是系统调用

所有的操作系统都会提供系统调用接口,只不过不同的操作系统提供的系统调用接口各不相同。

(3)系统调用按照功能分类

进程控制、进程间通信、文件系统控制、存储管理、网络管理、套接字控制、用户管理等。

2、库函数

对系统调用的一种封装,因为系统调用是面对的是操作系统,系统包括Linux、Windows等,如果直接系统调用,会影响程序的移植性,所以这里使用了库函数。

用户编程接口API:

前面提到利用系统调用接口程序可以访问各种资源,但在实际开发中程序并不直接使用系统调用接口,

而是使用用户编程接口(API)【各种库(最᯿要的就是C库)中的函数】。

不直接使用系统调用接口原因如下:

  1. 系统调用接口功能非常简单,无法满足程序的需求
  2. 不同操作系统的系统调用接口不兼容,程序移植时工作ᰁ大

页面淘汰算法

1、淘汰策略(页式系统)

(1)置换算法

当主存块已全部用完,添加新的一页进主存,选择淘汰哪一页的规则

(2)颠簸(抖动)

导致系统效率急剧下降的主存和辅存之间的频繁页面置换现象。

系统为每一个进入主存的程序分配的主存块数m是固定的;

2、最佳算法(OPT算法)

每次选择的淘汰页面将是以后永不使用,或者在最长时间内都不再访问的页面(保证最低的缺页率)

该算法是无法实现的

原因:操作系统无法提前判断页面访问序列

一般该算法作为衡ᰁ各种具体算法优劣的标准淘汰时参考的是未来将要执行的,但是只有在进程执行过程中才能知道接下来会访问到的是哪个页面

3、先进先出算法(FIFO算法)

每次淘汰选择在主存中居留时间最长(即进入最早)的一页淘汰。

实现的方法:

把调入内存的页面根据调入的先后顺序排成一个队列,需要换出页面时选择队头;页面队列的最大长度取决于系统为进程分配了多少个内存块。

Belady异常:

当为进程分配的物理块数增大时,缺页次数不降反增的异常现象。(只有FIFO算法有该现象)

缺点:

该算法与进程实际运行时的规律不适用,因为先进入的页面可能经常被访问,算法性能较差。

4、最近最久未使用淘汰算法(Least Recently Used)(LRU算法)

每次淘汰的页面时最近最久未使用的页面。

实现方法:

(1)计数器:

赋予每个页面对应的页表项中,用访问字段记录该页面自上次被访问以所经历的时间t(需要硬件支持,实现困难,开销大)

(2)堆栈(软件实现)

利用那个栈来登记主存中可淘汰的页号。每当一个页面被访问过,就立即将它的页号记载页号栈的顶部,而将栈中原有的页号依次下移。(淘汰的页面对应栈底页面)

5、LRU近似算法(软硬相结合)

在一个存储块有一个引用位:

当某块中的页面被访问时,这一位由硬件自动置1,而页面管理软件周期性(T)将所有引用位᯿新置“0”(在T内,访问过的页面为1,未访问过为0,需要置换一页时,淘汰应用那个位为0)

替换指针:

全站分卷索引 · 152 卷
  1. 1代码随想录知识星球精华(最强八股文)第五版(面经篇)
  2. 2后端面经02-美团
  3. 3Java面经02-阿里ICBU
  4. 4Java面经-04-CVET
  5. 5Java面经-06-字节后端
  6. 6Java面经08-用友
  7. 7Java面经09-快手
  8. 83. 计算机网络
  9. 94. 数据库
  10. 105. 算法
  11. 11Java面经11-美团
  12. 121.3 java的4种引用
  13. 132. JVM
  14. 143. 操作系统
  15. 154. 计算机网络
  16. 165. 数据库
  17. 17Java面经13
  18. 18Java面经14
  19. 19Java面经16
  20. 20Java面经17
  21. 21Java面经18
  22. 22二面
  23. 23三面
  24. 24面经19-Java-字节暑期实习
  25. 25字节三面
  26. 26面经21-Java-蚂蚁暑期实习
  27. 27蚂蚁三面
  28. 28MySQL
  29. 29计算机网络
  30. 30拉链法的工作原理
  31. 31确定桶下标
  32. 32扩容 - 基本原理
  33. 33链表转红黑树
  34. 34子进程和线程的区别
  35. 35协程
  36. 36数据库
  37. 37哈希索引
  38. 38计算机网络
  39. 39TCP和UDP的区别
  40. 40面经25-Java-百度二面
  41. 41面经26-Java-京东一面
  42. 42面经27-Spring
  43. 43计算机基础面经28
  44. 44计算机基础面经29
  45. 45计算机网络
  46. 46操作系统
  47. 47任务调度算法
  48. 48数据库
  49. 49计算机基础面经31
  50. 50乐观锁两种实现机制
  51. 51版本号机制
  52. 52死锁相关问题
  53. 53计算机网络
  54. 54拥塞控制的四种方法
  55. 55计算机基础面经32
  56. 56三次握手的流程
  57. 57计算机基础面经33
  58. 58计算机基础面经34
  59. 59异步
  60. 60C++后端
  61. 61面经3-C++-地平线
  62. 62面经6-C++-国电南瑞
  63. 63面经7-c++后端-字节
  64. 64二面
  65. 65面经11-C++-OPPO
  66. 66面经12-C++-商汤
  67. 67SelectDB
  68. 68面经15-C++-中望
  69. 69面经16-C++-米哈游
  70. 70面经17-C++-旷世
  71. 71面经19-C++-蔚来
  72. 72面经20-C++-第四范式
  73. 73面经21-C++-TP-Link
  74. 74面经23-C++-猿辅导
  75. 75面经25-C++-文远知行
  76. 76面经26-C++-百度
  77. 77百度二面
  78. 78百度三面
  79. 79面经27-C++-ZEKU
  80. 80ZEKU哲库HR面
  81. 81面经28-C++-VIVO
  82. 82面经29-C++-TPLINK
  83. 83字节二面
  84. 84HR面
  85. 85面经32-C++
  86. 86TCP的粘包与拆包
  87. 87引入协程的原因
  88. 88面经34-C++
  89. 892. 指针与引用的区别
  90. 902. Nagle 算法与延迟确认
  91. 91数据库
  92. 922. MVCC-多版本并发控制
  93. 93计算机网络
  94. 94面经36
  95. 95面经37
  96. 96面经38
  97. 97面经39-C++-拼多多+字节
  98. 98字节一面【7.27】
  99. 99shopee测开一面【7.29】
  100. 100一、表面上开销
  101. 101面经44-京东二面
  102. 102Go后端
  103. 103二面
  104. 104面经3-Go-字节日常实习
  105. 105字节二面
  106. 106字节三面
  107. 107HR面
  108. 108面经5-Go-字节暑期实习
  109. 109字节二面
  110. 110字节三面
  111. 111面经02-测开-百度提前批
  112. 112二面
  113. 113面经06-测试-海尔智家
  114. 114面经07-测开-蔚来
  115. 115面经09-测试-中望
  116. 116面经10-测开-ZEKU
  117. 117面经12-测试-科大讯飞
  118. 118面经15-测开-美团暑期实习
  119. 119面经16-测开-外企社招
  120. 120Nvidia四面
  121. 121面经2-前端-百度日常实习
  122. 122面经3-前端-得物面经
  123. 123面经4-前端-腾讯健康
  124. 124面经5-前端-字节面经
  125. 125面经6-前端-携程前端
  126. 126面经7-前端-顺丰
  127. 127面经9-前端-比特大陆日常实习
  128. 128面经10-前端-抖音
  129. 129面经11-前端-蔚来/百度/oppo
  130. 130百度提前批
  131. 131面经12-前端-知乎暑期实习
  132. 132知乎二面
  133. 133百度二面
  134. 134面经2-Android客户端-大疆
  135. 135二面
  136. 136面经3-客户端-字节暑期实习
  137. 137字节二面
  138. 138字节二面(深入项目,1h)
  139. 139面经5-客户端-字节
  140. 140面经6-客户端-字节
  141. 141算法
  142. 142面经3-NLP-科大讯法
  143. 143面经4-NLP-科大讯法
  144. 144面经7-游戏算法-莉莉丝
  145. 145面经10-算法
  146. 146面经11-算法-百度pnc暑期实习
  147. 147百度二面
  148. 148抖音一面
  149. 149嵌入式
  150. 150面经3-嵌入式-芯动科技
  151. 151面经4-嵌入式-韶音科技
  152. 152面经6-嵌入式-新华三