learn.lianglianglee.com/专栏/重学操作系统-完/index.html
2022-08-14 03:40:33 +08:00

220 lines
17 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<link rel="icon" href="/static/favicon.png">
<title>note-submit</title>
<!-- Spectre.css framework -->
<link rel="stylesheet" href="/static/index.css">
<!-- theme css & js -->
<meta name="generator" content="Hexo 4.2.0">
</head>
<body>
<div class="book-container">
<div class="book-sidebar">
<div class="book-brand">
<a href="/">
<img src="/static/favicon.png">
<span>技术文章摘抄</span>
</a>
</div>
<div class="book-menu uncollapsible">
<ul class="uncollapsible">
<li><a href="/" class="current-tab">首页</a></li>
</ul>
<ul class="uncollapsible">
<li><a href="../">上一级</a></li>
</ul>
<ul class="uncollapsible">
<li>
<a href="/PDF">PDF</a>
</li>
<li>
<a href="/专栏">专栏</a>
</li>
<li>
<a href="/恋爱必修课">恋爱必修课</a>
</li>
<li>
<a href="/文章">文章</a>
</li>
<li>
<a href="/极客时间">极客时间</a>
</li>
</ul>
</div>
</div>
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
<div class="sidebar-toggle-inner"></div>
</div>
<script>
function add_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.add('show')
}
function remove_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.remove('show')
}
function sidebar_toggle() {
let sidebar_toggle = document.querySelector('.sidebar-toggle')
let sidebar = document.querySelector('.book-sidebar')
let content = document.querySelector('.off-canvas-content')
if (sidebar_toggle.classList.contains('extend')) { // show
sidebar_toggle.classList.remove('extend')
sidebar.classList.remove('hide')
content.classList.remove('extend')
} else { // hide
sidebar_toggle.classList.add('extend')
sidebar.classList.add('hide')
content.classList.add('extend')
}
}
function open_sidebar() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.add('show')
overlay.classList.add('show')
}
function hide_canvas() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.remove('show')
overlay.classList.remove('show')
}
</script>
<div class="off-canvas-content">
<div class="columns">
<div class="column col-12 col-lg-12">
<div class="book-navbar">
<!-- For Responsive Layout -->
<header class="navbar">
<section class="navbar-section">
<a onclick="open_sidebar()">
<i class="icon icon-menu"></i>
</a>
</section>
</header>
</div>
<div class="book-content"
style="max-width: 960px; margin: 0 auto; overflow-x: auto; overflow-y: hidden;">
<div class="book-post">
<p id="tip" align="center"></p>
<div><!--add content-->
<h1>重学操作系统-完</h1>
<ul>
<li><a href = '\专栏\重学操作系统-完\00 开篇词 为什么大厂面试必考操作系统?.md.html'>00 开篇词 为什么大厂面试必考操作系统?</a></li>
<li><a href = '\专栏\重学操作系统-完\00 课前必读 构建知识体系,可以这样做!.md.html'>00 课前必读 构建知识体系,可以这样做!</a></li>
<li><a href = '\专栏\重学操作系统-完\01 计算机是什么:“如何把程序写好”这个问题是可计算的吗?.md.html'>01 计算机是什么:“如何把程序写好”这个问题是可计算的吗?</a></li>
<li><a href = '\专栏\重学操作系统-完\02 程序的执行:相比 32 位64 位的优势是什么?(上).md.html'>02 程序的执行:相比 32 位64 位的优势是什么?(上)</a></li>
<li><a href = '\专栏\重学操作系统-完\03 程序的执行:相比 32 位64 位的优势是什么?(下).md.html'>03 程序的执行:相比 32 位64 位的优势是什么?(下)</a></li>
<li><a href = '\专栏\重学操作系统-完\04 构造复杂的程序:将一个递归函数转成非递归函数的通用方法.md.html'>04 构造复杂的程序:将一个递归函数转成非递归函数的通用方法</a></li>
<li><a href = '\专栏\重学操作系统-完\05 存储器分级L1 Cache 比内存和 SSD 快多少倍?.md.html'>05 存储器分级L1 Cache 比内存和 SSD 快多少倍?</a></li>
<li><a href = '\专栏\重学操作系统-完\05 (1) 加餐 练习题详解(一).md.html'>05 (1) 加餐 练习题详解(一)</a></li>
<li><a href = '\专栏\重学操作系统-完\06 目录结构和文件管理指令rm -rf 指令的作用是?.md.html'>06 目录结构和文件管理指令rm -rf 指令的作用是?</a></li>
<li><a href = '\专栏\重学操作系统-完\07 进程、重定向和管道指令xargs 指令的作用是?.md.html'>07 进程、重定向和管道指令xargs 指令的作用是?</a></li>
<li><a href = '\专栏\重学操作系统-完\08 用户和权限管理指令: 请简述 Linux 权限划分的原则?.md.html'>08 用户和权限管理指令: 请简述 Linux 权限划分的原则?</a></li>
<li><a href = '\专栏\重学操作系统-完\09 Linux 中的网络指令:如何查看一个域名有哪些 NS 记录?.md.html'>09 Linux 中的网络指令:如何查看一个域名有哪些 NS 记录?</a></li>
<li><a href = '\专栏\重学操作系统-完\10 软件的安装: 编译安装和包管理器安装有什么优势和劣势?.md.html'>10 软件的安装: 编译安装和包管理器安装有什么优势和劣势?</a></li>
<li><a href = '\专栏\重学操作系统-完\11 高级技巧之日志分析:利用 Linux 指令分析 Web 日志.md.html'>11 高级技巧之日志分析:利用 Linux 指令分析 Web 日志</a></li>
<li><a href = '\专栏\重学操作系统-完\12 高级技巧之集群部署:利用 Linux 指令同时在多台机器部署程序.md.html'>12 高级技巧之集群部署:利用 Linux 指令同时在多台机器部署程序</a></li>
<li><a href = '\专栏\重学操作系统-完\12 (1)加餐 练习题详解(二).md.html'>12 (1)加餐 练习题详解(二)</a></li>
<li><a href = '\专栏\重学操作系统-完\13 操作系统内核Linux 内核和 Windows 内核有什么区别?.md.html'>13 操作系统内核Linux 内核和 Windows 内核有什么区别?</a></li>
<li><a href = '\专栏\重学操作系统-完\14 用户态和内核态:用户态线程和内核态线程有什么区别?.md.html'>14 用户态和内核态:用户态线程和内核态线程有什么区别?</a></li>
<li><a href = '\专栏\重学操作系统-完\15 中断和中断向量Javajs 等语言为什么可以捕获到键盘输入?.md.html'>15 中断和中断向量Javajs 等语言为什么可以捕获到键盘输入?</a></li>
<li><a href = '\专栏\重学操作系统-完\16 WinMacUnixLinux 的区别和联系:为什么 Debian 漏洞排名第一还这么多人用?.md.html'>16 WinMacUnixLinux 的区别和联系:为什么 Debian 漏洞排名第一还这么多人用?</a></li>
<li><a href = '\专栏\重学操作系统-完\16 (1)加餐 练习题详解(三).md.html'>16 (1)加餐 练习题详解(三)</a></li>
<li><a href = '\专栏\重学操作系统-完\17 进程和线程:进程的开销比线程大在了哪里?.md.html'>17 进程和线程:进程的开销比线程大在了哪里?</a></li>
<li><a href = '\专栏\重学操作系统-完\18 锁、信号量和分布式锁:如何控制同一时间只有 2 个线程运行?.md.html'>18 锁、信号量和分布式锁:如何控制同一时间只有 2 个线程运行?</a></li>
<li><a href = '\专栏\重学操作系统-完\19 乐观锁、区块链:除了上锁还有哪些并发控制方法?.md.html'>19 乐观锁、区块链:除了上锁还有哪些并发控制方法?</a></li>
<li><a href = '\专栏\重学操作系统-完\20 线程的调度:线程调度都有哪些方法?.md.html'>20 线程的调度:线程调度都有哪些方法?</a></li>
<li><a href = '\专栏\重学操作系统-完\21 哲学家就餐问题:什么情况下会触发饥饿和死锁?.md.html'>21 哲学家就餐问题:什么情况下会触发饥饿和死锁?</a></li>
<li><a href = '\专栏\重学操作系统-完\22 进程间通信: 进程间通信都有哪些方法?.md.html'>22 进程间通信: 进程间通信都有哪些方法?</a></li>
<li><a href = '\专栏\重学操作系统-完\23 分析服务的特性:我的服务应该开多少个进程、多少个线程?.md.html'>23 分析服务的特性:我的服务应该开多少个进程、多少个线程?</a></li>
<li><a href = '\专栏\重学操作系统-完\23 (1)加餐 练习题详解(四).md.html'>23 (1)加餐 练习题详解(四)</a></li>
<li><a href = '\专栏\重学操作系统-完\24 虚拟内存 :一个程序最多能使用多少内存?.md.html'>24 虚拟内存 :一个程序最多能使用多少内存?</a></li>
<li><a href = '\专栏\重学操作系统-完\25 内存管理单元: 什么情况下使用大内存分页?.md.html'>25 内存管理单元: 什么情况下使用大内存分页?</a></li>
<li><a href = '\专栏\重学操作系统-完\26 缓存置换算法: LRU 用什么数据结构实现更合理?.md.html'>26 缓存置换算法: LRU 用什么数据结构实现更合理?</a></li>
<li><a href = '\专栏\重学操作系统-完\27 内存回收上篇:如何解决内存的循环引用问题?.md.html'>27 内存回收上篇:如何解决内存的循环引用问题?</a></li>
<li><a href = '\专栏\重学操作系统-完\28 内存回收下篇:三色标记-清除算法是怎么回事?.md.html'>28 内存回收下篇:三色标记-清除算法是怎么回事?</a></li>
<li><a href = '\专栏\重学操作系统-完\28 (1)加餐 练习题详解(五).md.html'>28 (1)加餐 练习题详解(五)</a></li>
<li><a href = '\专栏\重学操作系统-完\29 Linux 下的各个目录有什么作用?.md.html'>29 Linux 下的各个目录有什么作用?</a></li>
<li><a href = '\专栏\重学操作系统-完\30 文件系统的底层实现FAT、NTFS 和 Ext3 有什么区别?.md.html'>30 文件系统的底层实现FAT、NTFS 和 Ext3 有什么区别?</a></li>
<li><a href = '\专栏\重学操作系统-完\32 HDFS 介绍:分布式文件系统是怎么回事?.md.html'>32 HDFS 介绍:分布式文件系统是怎么回事?</a></li>
<li><a href = '\专栏\重学操作系统-完\32 (1)加餐 练习题详解(六).md.html'>32 (1)加餐 练习题详解(六)</a></li>
<li><a href = '\专栏\重学操作系统-完\33 互联网协议群TCPIP多路复用是怎么回事.md.html'>33 互联网协议群TCPIP多路复用是怎么回事</a></li>
<li><a href = '\专栏\重学操作系统-完\34 UDP 协议UDP 和 TCP 相比快在哪里?.md.html'>34 UDP 协议UDP 和 TCP 相比快在哪里?</a></li>
<li><a href = '\专栏\重学操作系统-完\35 Linux 的 IO 模式selectpollepoll 有什么区别?.md.html'>35 Linux 的 IO 模式selectpollepoll 有什么区别?</a></li>
<li><a href = '\专栏\重学操作系统-完\36 公私钥体系和网络安全:什么是中间人攻击?.md.html'>36 公私钥体系和网络安全:什么是中间人攻击?</a></li>
<li><a href = '\专栏\重学操作系统-完\36 (1)加餐 练习题详解(七).md.html'>36 (1)加餐 练习题详解(七)</a></li>
<li><a href = '\专栏\重学操作系统-完\37 虚拟化技术介绍VMware 和 Docker 的区别?.md.html'>37 虚拟化技术介绍VMware 和 Docker 的区别?</a></li>
<li><a href = '\专栏\重学操作系统-完\38 容器编排技术:如何利用 K8s 和 Docker Swarm 管理微服务?.md.html'>38 容器编排技术:如何利用 K8s 和 Docker Swarm 管理微服务?</a></li>
<li><a href = '\专栏\重学操作系统-完\39 Linux 架构优秀在哪里.md.html'>39 Linux 架构优秀在哪里</a></li>
<li><a href = '\专栏\重学操作系统-完\40 商业操作系统:电商操作系统是不是一个噱头?.md.html'>40 商业操作系统:电商操作系统是不是一个噱头?</a></li>
<li><a href = '\专栏\重学操作系统-完\40 (1)加餐 练习题详解(八).md.html'>40 (1)加餐 练习题详解(八)</a></li>
<li><a href = '\专栏\重学操作系统-完\41 结束语 论程序员的发展——信仰、选择和博弈.md.html'>41 结束语 论程序员的发展——信仰、选择和博弈</a></li>
</ul>
</div>
</div>
<div>
</div>
</div>
</div>
</div>
</div>
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
</div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194"
integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw=="
data-cf-beacon='{"rayId":"70996b2f083d3d60","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}'
crossorigin="anonymous"></script>
</body>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-NPSEEVD756');
var path = window.location.pathname
var cookie = getCookie("lastPath");
console.log(path)
if (path.replace("/", "") === "") {
if (cookie.replace("/", "") !== "") {
console.log(cookie)
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
}
} else {
setCookie("lastPath", path)
}
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
}
return "";
}
</script>
</html>