merge from dev, change theme and change file structure

This commit is contained in:
KimYang
2021-08-09 23:36:35 +08:00
180 changed files with 4170 additions and 1534 deletions

View File

@@ -2,22 +2,22 @@ name: vuepress-deploy
on:
push:
branches: [ master ]
branches: [master]
pull_request:
branches: [ master ]
branches: [master]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Checkout
uses: actions/checkout@master
- name: vuepress-deploy
uses: jenkey2011/vuepress-deploy@master
env:
ACCESS_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
TARGET_REPO: CodePanda66/CSPostgraduate-408
TARGET_BRANCH: gh-pages
BUILD_SCRIPT: yarn && yarn build
BUILD_DIR: 408Notes/.vuepress/dist/
- name: vuepress-deploy
uses: jenkey2011/vuepress-deploy@master
env:
ACCESS_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
TARGET_REPO: CodePanda66/CSPostgraduate-408
TARGET_BRANCH: gh-pages
BUILD_SCRIPT: yarn && export BASE408=/CSPostgraduate-408/ && yarn build
BUILD_DIR: 408Notes/.vuepress/dist/

View File

@@ -1,12 +1,18 @@
module.exports = {
title: "CSPostgraduate",
base: "/",
repo: "https://github.com/KimYangOfCat/2021-CSPostgraduate-408",
description: "2021 CSPostgraduate 408",
title: "CSPostgraduate-408",
base: process.env.BASE408,
description: "一研为定!一战成硕!",
port: 4080,
theme: '@vuepress/theme-default',
theme: 'reco',
head: [
['meta', { name: 'viewport', content: 'width=device-width,initial-scale=1,user-scalable=no' }]
],
themeConfig: {
//reco 主题相关
noFoundPageByTencent: false,
startYear: 2020,
author: "Kim Yang",
//默认主题支持
logo: '/icons.png',
head: [
['link', { rel: 'icon', href: '/favicon.ico', type: "image/x-icon" }],
@@ -14,27 +20,55 @@ module.exports = {
['link', { rel: 'apple-touch-icon', href: `/favicon.ico`, type: "image/x-icon" }],
],
nav: [
{ text: '首页', link: '/' },
{ text: '数据结构', link: '/DataStructure/' },
{ text: '计算机组成原理', link: '/ComputerOrganization/' },
{ text: '计算机网络', link: '/ComputerNetwork/' },
{ text: '操作系统', link: '/OperatingSystem/' },
{ text: '个人博客', link: 'https://kimyang.cn' },
{ text: '留言板', link: '/contact' },
// {text: 'GitHub', link: 'https://github.com/KimYangOfCat/2021-CSPostgraduate-408', target: '_blank'},
{ text: '首页', link: '/', icon: 'reco-home' },
{
text: '数据结构',
items: [
{ text: '数据结构笔记', link: '/数据结构/', icon: 'reco-document' },
// {text:'数据结构错题集',link:'/数据结构错题集/'},
{ text: "数据结构笔记(旧版)", link: '/DataStructure/', icon: 'reco-document' },
],
icon: 'reco-category'
},
{ text: '计算机组成原理', link: '/计算机组成原理/', icon: 'reco-category' },
{ text: '计算机网络', link: '/计算机网络/', icon: 'reco-category' },
{
text: '操作系统',
items: [
{ text: '操作系统笔记', link: '/操作系统/', icon: 'reco-document' },
{ text: '操作系统错题集', link: '/操作系统错题集/', icon: 'reco-suggestion' },
],
icon: 'reco-category'
},
// { text: '留言板', link: '/contact', icon: "reco-suggestion" },
{
text: '联系我',
items: [
{ text: 'Email', link: 'mailto:Kim.Yang.HG@outlook.com', icon: 'reco-mail' },
{ text: '个人博客', link: 'https://kimyang.cn', icon: 'reco-blog' },
{ text: 'GitHub', link: 'https://github.com/KimYangOfCat', icon: 'reco-github' },
{ text: 'BiliBili', link: 'https://space.bilibili.com/240836280', icon: 'reco-bilibili' },
{ text: '微信公众号', link: 'https://mp.weixin.qq.com/s/kSfjVbzlP46oB-Ux-MPWzA', icon: 'reco-wechat' },
],
icon: 'reco-other'
},
{ text: 'RSS', link: 'https://408.kimyang.cn/rss.xml', icon: 'reco-rss' },
],
sidebar:
{
'/DataStructure/': getDataStructureSidebar(),
'/ComputerOrganization/': getComputerOrganizationSidebar(),
'/ComputerNetwork/': getComputerNetworkSidebar(),
'/OperatingSystem/': getOperatingSystemSidebar(),
'/数据结构/': getDataStructureSidebar1(),
'/计算机组成原理/': getComputerOrganizationSidebar(),
'/计算机网络/': getComputerNetworkSidebar(),
'/操作系统/': getOperatingSystemSidebar(),
'/操作系统错题集/': getOperatingSystemWrongSetSidebar(),
// fallback
'/': [
// '', /* / */
// 'contact', /* /contact.html */
]
},
subSidebar: 'auto',//在所有页面中启用自动生成子侧边栏,原 sidebar 仍然兼容
// 默认值是 true 。设置为 false 来禁用所有页面的 下一篇 链接
nextLinks: true,
// 默认值是 true 。设置为 false 来禁用所有页面的 上一篇 链接
@@ -42,10 +76,10 @@ module.exports = {
lastUpdated: "最后更新时间:",
smoothScroll: true,
// 假定是 GitHub. 同时也可以是一个完整的 GitLab URL
repo: 'KimYangOfCat/2021-CSPostgraduate-408',
// repo: 'KimYangOfCat/2021-CSPostgraduate-408',
// 自定义仓库链接文字。默认从 `themeConfig.repo` 中自动推断为
// "GitHub"/"GitLab"/"Bitbucket" 其中之一,或是 "Source"。
repoLabel: 'GitHub',
// repoLabel: '查看源码',
// 以下为可选的编辑链接选项
// 假如你的文档仓库和项目本身不在一个仓库:
// docsRepo: 'KimYangOfCat/2021-CSPostgraduate-408',
@@ -56,33 +90,165 @@ module.exports = {
// 默认是 false, 设置为 true 来启用
editLinks: true,
// 默认为 "Edit this page"
editLinkText: '发现错误?点击修正!'
},
plugins: {
'@vssue/vuepress-plugin-vssue': {
baseURL: "https://github.com",
editLinkText: '发现错误?点击修正!',
platform: 'github-v4', //v3的platform是githubv4的是github-v4
locale: 'zh', //语言
// 其他的 Vssue 配置
owner: 'KimYangOfCat', //github账户名
repo: '2021-CSPostgraduate-408', //github一个项目的名称
clientId: '0b51066b027f4cb4a5a3',//注册的Client ID
clientSecret: '4b816edafb10d7e828c0faaaa18df1e7d08585c2',//注册的Client Secret
autoCreateIssue: false,// 自动创建评论默认是false
labels: ['Comments'],//Vssue 通过 title 和 labels 来确定用来存储评论的对应 Issue
prefix: '[Comments]',//Issue 标题的前缀
locale: 'zh',//使用的语言。
issueContent: ({ url }) => `这个 Issue 由评论系统自动创建,用来存储该页面的评论:${url}`,
},
// vssueConfig: {
// platform: 'github',
// owner: 'CodePanda66',
// repo: 'CSPostgraduate-408', //github一个项目的名称
// clientId: '0b51066b027f4cb4a5a3',//注册的Client ID
// clientSecret: '4b816edafb10d7e828c0faaaa18df1e7d08585c2',//注册的Client Secret
// locale: 'zh', //语言
// labels: ["留言板"],//Vssue 通过 title 和 labels 来确定用来存储评论的对应 Issue
// prefix: '[Comments]',//Issue 标题的前缀
// }
},
plugins: [
['@vuepress/pwa', {
serviceWorker: true,
updatePopup: {
message: "有新的内容更新啦!",
buttonText: "更新"
}
}],
[
//图片放大插件 先安装在配置, npm install @vuepress\plugin-medium-zoom --save
'@vuepress/medium-zoom',
{
selector: '.page img',
delay: 1000,
options: {
margin: 24,
background: 'rgba(25,18,25,0.9)',
scrollOffset: 40
}
}
],
["vuepress-plugin-nuggets-style-copy", {
copyText: "复制代码", //vuepress复制粘贴提示插件P 先安装在配置 npm install vuepress-plugin-nuggets-style-copy --save
tip: {
content: "复制成功!"
}
}],
// 支持中文文件名
['@vuepress-reco/vuepress-plugin-rss', {
//RSS
site_url: "https://408.kimyang.cn"
}],
[
"permalink-pinyin",
{
lowercase: true, // Converted into lowercase, default: true
separator: "-", // Separator of the slug, default: '-'
},
],
['@vuepress-reco/vuepress-plugin-bulletin-popover', {
width: '300px', // 默认 260px
title: '欢迎关注',
body: [
{
type: 'title',
content: '欢迎关注我的微信公众号和B站🎉🎉🎉',
style: 'text-aligin: center;'
},
{
type: 'image',
src: 'https://pic-bed-1256389522.cos.ap-chengdu.myqcloud.com/info/binarycode.png'
}
],
footer: [
{
type: 'button',
text: '打赏',
link: 'https://picbed.kimyang.cn/202108090635547.png'
}
]
}]
]
}
function getDataStructureSidebar1() {
return [
'/数据结构/',
{
title: '一、绪论', // 必要的
path: '/数据结构/DS_1_概述/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '二、线性表', // 必要的
path: '/数据结构/DS_2_线性表/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '三、栈和队列', // 必要的
path: '/数据结构/DS_3_栈和队列/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '四、串', // 必要的
path: '/数据结构/DS_4_串/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '五、数组、矩阵和广义表', // 必要的
path: '/数据结构/DS_5_数组矩阵与广义表/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '六、树与二叉树', // 必要的
path: '/数据结构/DS_6_树与二叉树/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '七、图', // 必要的
path: '/数据结构/DS_7_图/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '八、排序', // 必要的
path: '/数据结构/DS_8_排序/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '九、查找', // 必要的
path: '/数据结构/DS_9_查找/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
]
}
function getDataStructureSidebar() {
return [
'/DataStructure/',
{
title: '、绪论', // 必要的
title: '、绪论', // 必要的
path: '/DataStructure/DS_0_Introduction/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
@@ -92,7 +258,7 @@ function getDataStructureSidebar() {
]
},
{
title: '、线性表', // 必要的
title: '、线性表', // 必要的
path: '/DataStructure/DS_1_LinearList/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
@@ -107,7 +273,7 @@ function getDataStructureSidebar() {
]
},
{
title: '、栈与队列', // 必要的
title: '、栈与队列', // 必要的
path: '/DataStructure/DS_2_StackAndQueue/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
@@ -124,7 +290,7 @@ function getDataStructureSidebar() {
]
},
{
title: '、字符串', // 必要的
title: '、字符串', // 必要的
path: '/DataStructure/DS_3_String/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
@@ -136,124 +302,150 @@ function getDataStructureSidebar() {
'/DataStructure/DS_3_String/DS_Doc_3_4_KMP算法的优化',
]
},
{
title: '四、树与二叉树', // 必要的
path: '/DataStructure/DS_4_TreeAndBinaryTree/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_0_树',
'/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_1_树的性质',
'/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_2_二叉树',
'/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_3_二叉树的性质',
'/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_4_二叉树的存储结构',
'/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_5_二叉树的遍历',
'/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_6_二叉树的构造',
'/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_7_线索二叉树',
'/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_8_二叉树的线索化',
]
},
{
title: '五、图', // 必要的
path: '/DataStructure/DS_5_Graph/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '六、搜索', // 必要的
path: '/DataStructure/DS_6_Search/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
{
title: '七、排序', // 必要的
path: '/DataStructure/DS_7_Sort/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
},
// {
// title: '五、树与二叉树', // 必要的
// path: '/DataStructure/DS_4_TreeAndBinaryTree/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
// collapsable: true, // 可选的, 默认值是 true,
// sidebarDepth: 2, // 可选的, 默认值是 1
// children: [
// '/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_0_树',
// '/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_1_树的性质',
// '/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_2_二叉树',
// '/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_3_二叉树的性质',
// '/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_4_二叉树的存储结构',
// '/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_5_二叉树的遍历',
// '/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_6_二叉树的构造',
// '/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_7_线索二叉树',
// '/DataStructure/DS_4_TreeAndBinaryTree/DS_Doc_4_8_二叉树的线索化',
// ]
// },
// {
// title: '六、图', // 必要的
// path: '/DataStructure/DS_5_Graph/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
// collapsable: true, // 可选的, 默认值是 true,
// sidebarDepth: 2, // 可选的, 默认值是 1
// children: [
// ]
// },
// {
// title: '七、搜索', // 必要的
// path: '/DataStructure/DS_6_Search/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
// collapsable: true, // 可选的, 默认值是 true,
// sidebarDepth: 2, // 可选的, 默认值是 1
// children: [
// ]
// },
// {
// title: '八、排序', // 必要的
// path: '/DataStructure/DS_7_Sort/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
// collapsable: true, // 可选的, 默认值是 true,
// sidebarDepth: 2, // 可选的, 默认值是 1
// children: [
// ]
// },
]
}
function getComputerOrganizationSidebar() {
return [
'/ComputerOrganization/',
'/计算机组成原理/',
{
title: '、计算机系统概述', // 必要的
path: '/ComputerOrganization/CO_0_Introduction/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
title: '、计算机系统概述', // 必要的
path: '/计算机组成原理/CO_1_概述/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/ComputerOrganization/CO_0_Introduction/CO_0_0_计算机系统概述'
'/计算机组成原理/CO_1_概述/CO_1_0_计算机系统概述',
'/计算机组成原理/CO_1_概述/CO_1_1_计算机发展历程',
'/计算机组成原理/CO_1_概述/CO_1_2_计算机系统层次结构',
'/计算机组成原理/CO_1_概述/CO_1_3_计算机性能指标',
'/计算机组成原理/CO_1_概述/CO_1_4_辅助知识点',
]
},
{
title: '、数据的表示和运算', // 必要的
path: '/ComputerOrganization/CO_1_Data/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
title: '、数据的表示和运算', // 必要的
path: '/计算机组成原理/CO_2_数据/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
// '/ComputerNetwork/CO_0_Introduction/CO_0_0_计算机系统概述'
'/计算机组成原理/CO_2_数据/CO_2_1_数制与编码',
'/计算机组成原理/CO_2_数据/CO_2_2_定点数的表示和运算',
'/计算机组成原理/CO_2_数据/CO_2_3_浮点数的表示和运算',
'/计算机组成原理/CO_2_数据/CO_2_4_算数逻辑单元',
]
},
{
title: '、存储器层次结构', // 必要的
path: '/ComputerOrganization/CO_2_Memory/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
title: '、存储器层次结构', // 必要的
path: '/计算机组成原理/CO_3_存储器/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
// '/ComputerNetwork/CO_0_Introduction/CO_0_0_计算机系统概述'
'/计算机组成原理/CO_3_存储器/CO_3_1_存储器的基本概念',
'/计算机组成原理/CO_3_存储器/CO_3_2_存储器的层次化结构',
'/计算机组成原理/CO_3_存储器/CO_3_3_半导体随机存取存储器',
'/计算机组成原理/CO_3_存储器/CO_3_4_主存储器与CPU的链接',
'/计算机组成原理/CO_3_存储器/CO_3_5_双口RAM和多模块存储器',
'/计算机组成原理/CO_3_存储器/CO_3_6_Cache',
'/计算机组成原理/CO_3_存储器/CO_3_7_虚拟存储器',
'/计算机组成原理/CO_3_存储器/CO_3_8_外存储器',
]
},
{
title: '、指令系统', // 必要的
path: '/ComputerOrganization/CO_3_CommandSystem/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
title: '、指令系统', // 必要的
path: '/计算机组成原理/CO_4_指令系统/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
// '/ComputerNetwork/CO_0_Introduction/CO_0_0_计算机系统概述'
'/计算机组成原理/CO_4_指令系统/CO_4_1_指令格式',
'/计算机组成原理/CO_4_指令系统/CO_4_2_指令的寻址方式',
'/计算机组成原理/CO_4_指令系统/CO_4_3_CISC和RISC的基本概念',
]
},
{
title: '、中央处理器', // 必要的
path: '/ComputerOrganization/CO_4_CPU/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
title: '、中央处理器', // 必要的
path: '/计算机组成原理/CO_5_CPU/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
// '/ComputerNetwork/CO_0_Introduction/CO_0_0_计算机系统概述'
'/计算机组成原理/CO_5_CPU/CO_5_1_CPU的功能和基本结构',
'/计算机组成原理/CO_5_CPU/CO_5_2_指令执行过程',
'/计算机组成原理/CO_5_CPU/CO_5_3_数据通路的功能和基本结构',
'/计算机组成原理/CO_5_CPU/CO_5_4_控制器的功能和工作原理',
'/计算机组成原理/CO_5_CPU/CO_5_5_指令流水线',
'/计算机组成原理/CO_5_CPU/CO_5_6_中断系统',
]
},
{
title: '、总线', // 必要的
path: '/ComputerOrganization/CO_5_Bus/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
title: '、总线', // 必要的
path: '/计算机组成原理/CO_6_总线/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
// '/ComputerNetwork/CO_0_Introduction/CO_0_0_计算机系统概述'
'/计算机组成原理/CO_6_总线/CO_6_1_总线概述',
'/计算机组成原理/CO_6_总线/CO_6_2_总线仲裁',
'/计算机组成原理/CO_6_总线/CO_6_3_总线操作和定时',
'/计算机组成原理/CO_6_总线/CO_6_4_总线标准',
]
},
{
title: '、输入/输出系统', // 必要的
path: '/ComputerOrganization/CO_6_IO/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
title: '、输入/输出系统', // 必要的
path: '/计算机组成原理/CO_7_IO/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
// '/ComputerNetwork/CO_0_Introduction/CO_0_0_计算机系统概述'
'/计算机组成原理/CO_7_IO/CO_7_1_IO系统基本概念',
'/计算机组成原理/CO_7_IO/CO_7_2_外部设备',
'/计算机组成原理/CO_7_IO/CO_7_3_IO接口',
'/计算机组成原理/CO_7_IO/CO_7_4_IO方式',
]
},
{
title: '、非统考知识点补充', // 必要的
path: '/ComputerOrganization/CO_7_Other/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
title: '、非统考知识点补充', // 必要的
path: '/计算机组成原理/CO_8_Other/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
// '/ComputerNetwork/CO_0_Introduction/CO_0_0_计算机系统概述'
]
}
@@ -262,12 +454,176 @@ function getComputerOrganizationSidebar() {
function getComputerNetworkSidebar() {
return [
'/ComputerNetwork/',
'/计算机网络/',
{
title: '一、计算机网络体系结构', // 必要的
path: '/计算机网络/CN_1_概述/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/计算机网络/CN_1_概述/CN_1_1_概述',
'/计算机网络/CN_1_概述/CN_1_2_体系结构与参考模型',
]
},
{
title: '二、物理层', // 必要的
path: '/计算机网络/CN_2_物理层/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/计算机网络/CN_2_物理层/CN_2_1_通信基础',
'/计算机网络/CN_2_物理层/CN_2_2_传输介质',
'/计算机网络/CN_2_物理层/CN_2_3_物理层设备',
]
},
{
title: '三、数据链路层', // 必要的
path: '/计算机网络/CN_3_数据链路层/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/计算机网络/CN_3_数据链路层/CN_3_1_数据链路层功能与组帧',
'/计算机网络/CN_3_数据链路层/CN_3_2_差错控制',
'/计算机网络/CN_3_数据链路层/CN_3_3_流量控制与可靠传输机制',
'/计算机网络/CN_3_数据链路层/CN_3_4_介质访问控制',
'/计算机网络/CN_3_数据链路层/CN_3_5_局域网',
'/计算机网络/CN_3_数据链路层/CN_3_6_广域网',
'/计算机网络/CN_3_数据链路层/CN_3_7_链路层设备',
]
},
{
title: '四、网络层', // 必要的
path: '/计算机网络/CN_4_网络层/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/计算机网络/CN_4_网络层/CN_4_1_网络层功能',
'/计算机网络/CN_4_网络层/CN_4_2_路由算法',
'/计算机网络/CN_4_网络层/CN_4_3_IPV4',
'/计算机网络/CN_4_网络层/CN_4_4_IPV6',
'/计算机网络/CN_4_网络层/CN_4_5_路由协议',
'/计算机网络/CN_4_网络层/CN_4_6_IP组播',
'/计算机网络/CN_4_网络层/CN_4_7_移动IP',
'/计算机网络/CN_4_网络层/CN_4_8_网络层设备',
]
},
{
title: '五、传输层', // 必要的
path: '/计算机网络/CN_5_传输层/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/计算机网络/CN_5_传输层/CN_5_1_传输层服务',
'/计算机网络/CN_5_传输层/CN_5_2_UDP',
'/计算机网络/CN_5_传输层/CN_5_3_TCP',
]
},
{
title: '六、应用层', // 必要的
path: '/计算机网络/CN_6_应用层/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/计算机网络/CN_6_应用层/CN_6_1_网络应用模型',
'/计算机网络/CN_6_应用层/CN_6_2_DNS系统',
'/计算机网络/CN_6_应用层/CN_6_3_FTP',
'/计算机网络/CN_6_应用层/CN_6_4_电子邮件',
'/计算机网络/CN_6_应用层/CN_6_5_WWW',
]
},
{
title: '七、其他知识补充', // 必要的
path: '/计算机网络/CN_7_补充/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
}
]
}
function getOperatingSystemSidebar() {
return [
'/OperatingSystem/',
'/操作系统/',
{
title: '一、绪论', // 必要的
path: '/操作系统/OS_1_绪论/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/操作系统/OS_1_绪论/OS_1_1_基本概念',
'/操作系统/OS_1_绪论/OS_1_2_发展与分类',
'/操作系统/OS_1_绪论/OS_1_3_运行环境',
'/操作系统/OS_1_绪论/OS_1_4_体系结构',
]
},
{
title: '二、进程管理', // 必要的
path: '/操作系统/OS_2_进程管理/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/操作系统/OS_2_进程管理/OS_2_1_进程与线程',
'/操作系统/OS_2_进程管理/OS_2_2_处理器调度',
'/操作系统/OS_2_进程管理/OS_2_3_同步与互斥',
'/操作系统/OS_2_进程管理/OS_2_4_死锁',
]
},
{
title: '三、内存管理', // 必要的
path: '/操作系统/OS_3_内存管理/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/操作系统/OS_3_内存管理/OS_3_1_内存管理基础',
'/操作系统/OS_3_内存管理/OS_3_2_虚拟内存管理',
'/操作系统/OS_3_内存管理/OS_3_3_对比',
]
},
{
title: '四、文件管理', // 必要的
path: '/操作系统/OS_4_文件管理/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/操作系统/OS_4_文件管理/OS_4_1_文件系统基础',
'/操作系统/OS_4_文件管理/OS_4_2_文件系统实现',
'/操作系统/OS_4_文件管理/OS_4_3_磁盘组织与管理',
]
},
{
title: '五、设备管理', // 必要的
path: '/操作系统/OS_5_设备管理/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/操作系统/OS_5_设备管理/OS_5_1_IO管理概述',
'/操作系统/OS_5_设备管理/OS_5_2_IO核心子系统',
]
},
{
title: '六、补充', // 必要的
path: '/操作系统/OS_6_补充/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
]
}
]
}
function getOperatingSystemWrongSetSidebar() {
return [
'/操作系统错题集/',
// '/操作系统错题集/Err_OS_1_绪论',
{
title: '一、绪论', // 必要的
// path: '/操作系统错题集/Err_OS_1_绪论/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
collapsable: true, // 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'/操作系统错题集/Err_OS_1_绪论/Err_OS_1_天勤',
]
}
]
}

View File

@@ -1,3 +0,0 @@
# 计算机网络
等待更新~

View File

@@ -1,4 +0,0 @@
# 计算机系统概述
## 目录
* [计算机系统概述](CO_0_0_计算机系统概述)

View File

@@ -1,3 +0,0 @@
# 第二章 数据的表示和运算
## 目录

View File

@@ -1,13 +0,0 @@
# 计算机组成原理
## 目录
* [计算机系统概述](CO_0_Introduction)
* [数据的表示和运算](CO_1_Data)
* [存储器层次结构](CO_2_Memory)
* [指令系统](CO_3_CommandSystem)
* [中央处理器](CO_4_CPU)
* [总线](CO_5_Bus)
* [输入/输出系统](CO_6_IO)
* [非统考知识点补充](CO_7_Other)
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -1,4 +1,7 @@
# 数据结构基本概念
---
title: 数据结构基本概念
---
![image-20200616203728181](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810001224.jpg)

View File

@@ -1,4 +1,7 @@
# 算法基本概念
---
title: 算法基本概念
---
## 基本概念

View File

@@ -1,4 +1,7 @@
# 绪论
---
title: 绪论
---
## 本章目录

View File

@@ -1,6 +1,9 @@
# 线性表
---
title: 线性表
---
##线性表的基本概念
## 线性表的基本概念
![image-20200617165505571](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810002132.jpg)
数据结构的三要素:逻辑结构、数据的运算、存储结构(物理结构)

View File

@@ -1,5 +1,8 @@
# 顺序表
##顺序表的基本概念
---
title: 顺序表
---
## 顺序表的基本概念
![image-20200617172240151](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810002154.jpg)

View File

@@ -1,4 +1,7 @@
# 单链表
---
title: 单链表
---
![image-20200618221439465](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810002338.jpg)

View File

@@ -1,4 +1,7 @@
# 双链表
---
title: 双链表
---

View File

@@ -1,4 +1,7 @@
# 循环链表
---
title: 循环链表
---
![image-20200620160012077](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810005122.jpg)

View File

@@ -1,4 +1,7 @@
# 静态链表
---
title: 静态链表
---
![image-20200620161229028](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810005810.jpg)

View File

@@ -1,4 +1,7 @@
# 线性表章节复习反思
---
title: 线性表章节复习反思
---
![image-20200620162832052](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810005922.jpg)

View File

@@ -1,4 +1,7 @@
# 线性表
---
title: 线性表
---
## 本章目录

View File

@@ -1,4 +1,7 @@
# 栈
---
title: 栈
---
![image-20200624150012426](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810010108.jpg)

View File

@@ -1,4 +1,7 @@
# 顺序栈
---
title: 顺序栈
---
![image-20200624151201362](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810010154.jpg)

View File

@@ -1,4 +1,7 @@
# 链栈
---
title: 链栈
---
![image-20200624153019827](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810010327.jpg)

View File

@@ -1,4 +1,7 @@
# 队列
---
title: 队列
---
![image-20200624153725089](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810010403.jpg)

View File

@@ -1,4 +1,7 @@
# 顺序队列
---
title: 顺序队列
---
![image-20200624154351327](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810010502.jpg)

View File

@@ -1,4 +1,7 @@
# 链队列
---
title: 链队列
---
![image-20200624160150945](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810010936.jpg)

View File

@@ -1,4 +1,7 @@
# 双端队列
---
title: 双端队列
---
![image-20200624161331529](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810011030.jpg)

View File

@@ -1,4 +1,7 @@
# 栈的应用
---
title: 栈的应用
---
## 括号匹配问题

View File

@@ -1,4 +1,7 @@
# 队列的应用
---
title: 队列的应用
---
## 树的层次遍历

View File

@@ -1,4 +1,7 @@
# 栈和队列
---
title: 栈和队列
---
## 本章目录

View File

@@ -1,4 +1,7 @@
# 串
---
title: 串
---
![image-20200803212400697](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810012004.jpg)

View File

@@ -1,5 +1,7 @@
# 存储结构
---
title: 存储结构
---
![image-20200803214458664](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810012341.jpg)

View File

@@ -1,4 +1,7 @@
# 模式匹配
---
title: 模式匹配
---
![image-20200803220247955](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810012517.jpg)

View File

@@ -1,4 +1,7 @@
# KMP 算法
---
title: "KMP 算法"
---
简单模式匹配的缺点

View File

@@ -1,4 +1,7 @@
# KMP 算法的优化
---
title: "KMP 算法的优化"
---
例1:KMP算法存在的问题

View File

@@ -1,4 +1,7 @@
# 串
---
title: 串
---
## 本章目录

View File

@@ -1,4 +1,7 @@
# 树
---
title: 树
---
![image-20200805134038848](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/007S8ZIlly1ghfvre4k98j31rb0u0x1u.jpg)

View File

@@ -1,2 +0,0 @@
# 数和森林的遍历

View File

@@ -1,4 +1,7 @@
# 树的性质
---
title: 树的性质
---
![image-20200805182003121](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810013150.jpg)

View File

@@ -1,4 +1,7 @@
# 二叉树
---
title: 二叉树
---
![image-20200805182546741](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810013238.jpg)

View File

@@ -1,4 +1,7 @@
# 二叉树的性质
---
title: 二叉树的性质
---
![image-20200805183656513](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810013326.jpg)

View File

@@ -1,4 +1,7 @@
# 二叉树的存储结构
---
title: 二叉树的存储结构
---
## 顺序存储

View File

@@ -1,4 +1,7 @@
# 二叉树的先中后序遍历
---
title: 二叉树的先中后序遍历
---
什么是遍历?

View File

@@ -1,4 +1,7 @@
# 由先中后序遍历序列构造二叉树
---
title: 由先中后序遍历序列构造二叉树
---
不同二叉树的中序遍历

View File

@@ -1,4 +1,7 @@
# 线索二叉树
---
title: 线索二叉树
---
![image-20200810110140084](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810110140.png)

View File

@@ -1,4 +1,7 @@
# 二叉树的线索化
---
title: 二叉树的线索化
---
![image-20200810105331721](https://cdn.jsdelivr.net/gh/KimYangOfCat/MyPicStorage/2021-CSPostgraduate-408/20200810105331.png)

View File

@@ -1,3 +0,0 @@
# 找线索二叉树结点的前驱和后继

View File

@@ -1,4 +1,7 @@
# 树和二叉树
---
title: 树和二叉树
---
## 本章目录

View File

@@ -1,3 +0,0 @@
# 图

View File

@@ -1,3 +0,0 @@
# 图的基本操作

View File

@@ -1 +0,0 @@
# 图的基本操作

View File

@@ -1 +0,0 @@
# 图的遍历

View File

@@ -1 +0,0 @@
# 搜索

View File

@@ -1,4 +0,0 @@
# 查找
## 本章目录
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -1 +0,0 @@
# 排序

View File

@@ -1,4 +0,0 @@
# 排序
## 本章目录
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -1,5 +1,7 @@
# 数据结构
---
title: 数据结构
---
旧版笔记
## 章节目录
* [绪论](DS_0_Introduction)
* [线性表](DS_1_LinearList)

View File

@@ -1,4 +0,0 @@
# 操作系统
等待更新~

View File

@@ -1,3 +0,0 @@
# 操作系统
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -2,26 +2,30 @@
home: true
heroImage: /icons@2x.png
heroText: 计算机考研 408 专业课
tagline: CSPostgraduate-408
tagline: null
actionText: 开始阅读 →
actionLink: /DataStructure/
actionLink: /操作系统/
footer: GPL Licensed | Copyright © 2020-present Kim Yang
---
<div align="center">
![DataStructure](https://img.shields.io/static/v1?label=&message=DataStructure&color=brightgreen)
# CSPostgraduate-408
![Top Language](https://img.shields.io/github/languages/top/KimYangOfCat/2021-CSPostgraduate-408?color=F8008E)
![DataStructure](https://img.shields.io/static/v1?label=&message=DataStructure&color=brightgreen)
![ComputerOrganization](https://img.shields.io/static/v1?label=&message=ComputerOrganization&color=blueviolet)
![ComputerNetWork](https://img.shields.io/static/v1?label=&message=ComputerNetWork&color=blue)
![OperatingSystem](https://img.shields.io/static/v1?label=&message=OperatingSystem&color=important)
</div>
本仓库主要记录了 CS 考研 408 专业课的一些真题资料、笔记、思维导图以及算法源码。
关于项目的介绍博文:[Blog](https://kimyang.cn/posts/2020-08-31-408.html) 、[CSDN](https://blog.csdn.net/weixin_43316691/article/details/108634030) 、[知乎](https://zhuanlan.zhihu.com/p/249377361) 。
## 21年考408的院校(信息来源于网络,更准确的信息请于各高校官网查询)
### 985高校
| 浙江大学 | 上海交通大学 | 同济大学 | 中国科学技术大学 | 武汉大学【新增】 |
@@ -132,7 +136,7 @@ footer: GPL Licensed | Copyright © 2020-present Kim Yang
## 教材
| 数据结构<br/> 严蔚敏 | 计算机组成原理 <br/>唐朔飞 | 操作系统 <br/>汤子瀛 | 计算机网络 <br/>谢希仁 | 计算机网络<br/>自顶向下方法 |
| 数据结构<br/> 严蔚敏 | 计算机组成原理 <br/>唐朔飞 | 操作系统 <br/>汤子瀛 | 计算机网络 <br/>谢希仁 | 计算机网络<br/>自顶向下方法 |
| :---------------------------------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| ![数据结构](https://cdn.jsdelivr.net/gh/KimYangOfCat/CSPostgraduate-408-2021/imgs/book/DS0.jpg) | ![计算机组成原理](https://cdn.jsdelivr.net/gh/KimYangOfCat/CSPostgraduate-408-2021/imgs/book/CO0.jpg) | ![操作系统](https://cdn.jsdelivr.net/gh/KimYangOfCat/CSPostgraduate-408-2021/imgs/book/OS0.png) | ![计算机网络](https://cdn.jsdelivr.net/gh/KimYangOfCat/CSPostgraduate-408-2021/imgs/book/CN1.png) | ![计算机网络·自顶向下方法](https://cdn.jsdelivr.net/gh/KimYangOfCat/CSPostgraduate-408-2021/imgs/book/CN0.jpg) |
@@ -144,9 +148,16 @@ footer: GPL Licensed | Copyright © 2020-present Kim Yang
## 笔记
笔记是由 Github pages 服务托管的,使用的是 `VuePress` 静态博客框架生成,你可以通过 [408.kimyang.cn](https://408.kimyang.cn) 域名来访问生成的 Web 页面笔记,
此外,后续更新的笔记将会持续发布在 [ **wiki**](https://github.com/KimYangOfCat/CSPostgraduate-408-2021/wiki) 中,大家一起加油冲鸭 🦆 。
## 工具说明
### 思维导图
所有以 `.xmind` 结尾的文件均是作者使用 `XMind` 软件制作出来的思维导图源文件,故推荐使用正版软件打开相关思维导图文件。
### IDE
书写并运行源码使用的 IDE 是 `CLion`,其主要的配置文件是仓库根目录下的 `CMakeLists.txt` 文件。
## 下载:
### 下载命令:
@@ -203,4 +214,4 @@ footer: GPL Licensed | Copyright © 2020-present Kim Yang
> 资料仅供参考,请自己判断其适用性。
其他部分的版权归属于其各自的作者。
其他部分的版权归属于其各自的作者。

View File

@@ -1,11 +1,4 @@
# 留言板
如果你有任何关于项目的建议,疑问与催更等等,欢迎在下面的评论区留言哟~。
当然,如果你只想夸夸不经意间帮助到你的勤奋的我😉,也欢迎在下面留言哟~
如果想要私聊一些问题的话,欢迎<a href="mailto:Kim.Yang.YJ@outlook.com">给我发送邮件</a>。
<!-- 评论模块,不可删除 -->
<Vssue />
---
title: 留言板
---
如果你有任何关于项目的建议,疑问与催更等等,欢迎在下面的评论区留言哟~

View File

@@ -0,0 +1,104 @@
---
title: 操作系统的基本概念
---
## 1、冯诺依曼模型
![](https://picbed.kimyang.cn/202108071625220.jpg)
以存储器为核心,由运算器、存储器、控制器组成主机部分,输入/输出设备为外设部分。
## 2、计算机系统
![](https://picbed.kimyang.cn/202108071631100.png)
![](https://picbed.kimyang.cn/202108071631443.png)
操作系统是计算机硬件之上的第一层软件,是对硬件功能的首次扩充,引入操作系统的目的是:
1. 提供一个用户与计算机硬件之间的接口,提升易用性。
2. 控制和管理计算机系统之中的各种硬件和软件资源,提升资源利用率。
3. 合理调整计算机系统的工作流程,提升系统性能。
## 3、操作系统
+ 作业:用户在一次解题或一个事务处理过程中,要求计算机系统所做工作的集合,包括用户程序所需数据及命令等。
### 3.1、操作系统的特征
1. 并发性
并发性指两个或多个事件在同一时间间隔内发生。(宏观同时发生,微观交替执行)
注意与并行性区分,并行性是指两个或多个事件在同一时刻发生(宏观微观都是同时发生);
2. 共享性
共享性指系统中的软硬件资源不再为某个程序所独占,而是供多个程序共同使用。
**并发和共享是操作系统的两个最基本的特征**,两者互为存在条件:
* 资源的共享是以系统的并发执行能力为条件的,没有并发就没有资源共享问题。
* 若系统不能对资源共享进行有效管理,也会影响到系统的并发执行能力。
资源共享方式分为两种:
+ 互斥共享:同一时刻只能供一个作业使用,如:打印机
+ 同时访问:同一时刻可以供多个作业同时访问,如:磁盘。
这里的同时指宏观上的同时,在微观上可能还是交替访问。
3. 虚拟性
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。如:多道程序设计技术、虚拟存储器、虚拟设备等
4. 异步性
只会发生在多道程序环境中,由于资源等因素的限制,程序是以“走走停停”的方式运行的,每个程序执行时间和多个程序之间的执行顺序都是不可预测的。
### 3.2、操作系统的主要功能和提供的服务
操作系统的五大基本功能:
1. 处理器管理
主要任务是对处理器的分配和运行实施有效的管理。在多道程序环境下,对处理器的分配和运行是以**进程**为基本单位的,所以处理器管理即**进程管理**,其主要功能如下:
+ 进程控制:负责进程的创建、撤销、一级状态转换
+ 进程同步:对并发执行的进程进行协调
+ 进程通信:负责进程间的信息交换
+ 进程调度:按特定算进行处理器分配
2. 存储器管理
主要任务是对**内存**进行分配、保护和扩充,其主要功能如下:
+ 内存分配:按特定策略为各个程序分配内存。
+ 内存保护:保证各程序在自己的内存区域内运行而不互相干扰。
+ 内存扩充:借助虚拟存储技术扩充内存以允许大型程序可以运行。
3. 文件管理
主要任务是支持文件存储、检索和修改等操作,解决文件共享、加密和保护问题,其主要功能如下:
+ 文件存储空间管理:负责对文件存储空间进行管理,包括存储空间的分配与回收等。
+ 目录管理:提供按名存取的功能。
+ 文件操作管理:负责文件数据的读写。
+ 文件保护
4. 设备管理
主要任务是对计算机系统内的说所有设备实施有效管理。其主要功能如下:
+ 设备分配
+ 设备传输控制
+ 设备独立性:即用户程序中的设备与实际物理设备无关
5. 用户接口
+ 命令接口
+ 联机命令接口(交互式命令接口):适用于**分时或实时操作系统**,人在终端一条条命令输入执行。
+ 脱机命令接口(批处理命令接口):适用于**批处理操作系统**,直接丢一个 bash 文件执行。
+ 程序接口(系统调用):供用户程序和其他系统程序调用的一组命令。
+ 图形接口(图形界面):就是大家目前常用的窗口,它是**联机命令窗口**的图形化

View File

@@ -0,0 +1,105 @@
---
title: 操作系统的发展与分类
---
## 1、操作系统的形成和发展
操作系统经历如下三个发展阶段:无操作系统阶段(手工操作与脱机输入/输出)、单道批处理系统和多道批处理系统:
1. 无操作系统阶段
在第一代计算机时期,构成计算机的主要元器件是电子管,人们采用**手工操作方式**操作计算机:先将程序纸带或卡片装入输入机。然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行,当程序运行完毕后,由用户取走纸带和结果。
后来引入了脱机输入/输出技术解决了CPU与I/O设备之间速度不匹配的矛盾减少了cpu的空闲等待时间提高了I/O速度。
若输入/输出操作在主机控制下进行,则称为联机输入/输出。
2. 单道批处理系统
通常是把一批作业以脱机输入/输出方式输入到磁带上并在系统中配置监督程序,其可以管理作业的运行,负责装入和运行各种系统程序来完成作业的自动过渡。
![](https://picbed.kimyang.cn/202108071742053.jpeg)
单道批处理系统主要特点:
+ 自动性:监督程序可以完成作业的自动过渡。
+ 顺序性:各作业的完成顺序与它们进入内存的顺序完全相同。
+ 单道性:内存仅有一道作业在运行。
3. 多道批处理系统
在单道批处理系统的基础上,引入多道程序设计技术。由此形成了多道批处理系统。
多道程序设计技术是将一个以上作业存放在主存当中,并同时处于运行状态,这些作业共享处理器,外设以及其他资源。
<img src="https://picbed.kimyang.cn/202108071742553.jpeg" style="zoom:150%;" />
在**单处理器**的计算机系统中,多道批处理系统主要特点:
+ 多道:内存中同时存放多道相互独立的程序
+ 宏观上并行:在内存中的多道程序都处于运行状态。
+ 微观上串行实际上内存中的多道程序轮流占用CPU交替执行。
## 2、操作系统的分类
操作系统有三种基本类型,即批处理操作系统、分时操作系统和实时操作系统。随着计算机体系结构的发展,其他多种操作类型应运而生,比如嵌入式操作系统、个人计算机操作系统、网络操作系统和分布式操作系统。
1. 批处理操作系统
批处理系统分为单道批处理系统和多道批处理系统,大致内容和前面一致。前面只说了单处理器下的多道批处理系统的特点,现在总结多道批处理系统本身的特点:
+ 用户脱机使用计算机
+ 成批处理
+ 多道程序运行
2. 分时操作系统
在分时操作系统中,人们以**联机方式**使用计算机,所谓分时技术就是把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。
分时操作系统的多种实现方式:
+ 简单分时操作系统:内存只驻留一道作业,其他作业都在外存上。
+ 具有“前台”“后台”的分时操作系统:把作业划分为“前台”和“后台”两类。“前台”存放按时间片调入/调出的作业流,后台存放批处理作业。
+ 多道分时操作系统:内存同时装入多道作业,系统把所有具备运行条件的作业排成一个队列,使它们一次轮流获得一个时间片运行。
分时操作系统具有以下特征:
+ 多路性:支持多用户同时使用计算机
+ 交互性:用户采用联机方式同程序进行交互
+ 独占性:采用**时间片轮转法**执行用户程序,使用户感觉自己在独占计算机。
+ 及时性:系统能在较短时间内响应用户请求。
3. 实时操作系统
实时的含义是指计算机对于外来信息能以足够快的速度进行处理,并在**被控制对象允许的时间范围**内作出快速反应。实时操作系统对响应时间的要求比分时操作系统更高,一般要求毫秒级甚至微妙级的响应时间。
实时操作系统主要分为两类:
+ 实时控制系统:指以计算机为中心的生产过程控制系统,又被称为计算机控制系统。如工场生产流水线的控制系统。
+ 实时信息处理系统:根据系统提出的问题对信息进行检索和处理,并在很短时间内对用户作出正确的响应。如机票订购系统、情报检索系统等。
实时操作系统的主要特点是提供及时响应和高可靠性。
4. 其他操作系统:
1. 嵌入式操作系统
运行在嵌入式设备中,对设备各部件进行同一协调、调度和控制。常见于各种电器。
2. 集群系统
将两个或多个独立系统耦合起来,共同完成一项任务。常用户提供高可用性,非关键节点失效,不影响整个系统运行。
3. 网络操作系统
通过通信设施将物理上分散的具有自治功能的多个计算机系统互相连接起来,实现信息交换、资源共享、可互操作和协作处理的系统。
4. 分布式操作系统
指多个分散的处理单元经互联网连接而成的系统,其中每个处理单元既具有高度自治性,又相互协同,能在系统范围内实现资源管理,动态分配任务。还能并行地运行分布式程序。
其主要特征是:
+ 统一性:吉他是一个统一的操作系统。
+ 共享性:分布式操作系统中的所有资源都是共享的。
+ 透明性:用户并不知道分布式操作系统是运行在多台计算机上的。
+ 自治性:及分布式操作系统中的多个主机都处于平等的地位。

View File

@@ -0,0 +1,52 @@
---
title: 操作系统的运行环境
---
## 1、核心态与用户态
为了避免操作系统及其关键数据如pcb的受到用户程序有意或无意的破坏。通常将处理器分为两种
+ **核心态**:又称**管态**、**系统态**,是操作系统管理程序执行时机器所处的状态,它具有较高的特权,能执行包括特权指令的一切指令,能访问所有寄存器和存储区。
+ 用户态。有乘务台。是用户程序执行时机器所处的状态,是具有较低特权的执行状态,它只能执行规定的指令,只能访问指定的寄存器和存储区。
**特权指令**:只能由操作系统内核使用,不允许用户直接使用的命令。如: I/O 指令、设置中断屏蔽指令、清内存指令、存储保护指令和设置时钟指令。
**系统内核**:由一些与硬件关系较为紧密的模块(如时钟管理,中断处理,设备驱动等)以及运行频率较高的程序(如进程管理,存储器管理,设备管理等)构成了系统的基本内核。
内核的指令主要运行在**核心态**,主要有四类:
1. 时钟管理
时钟是计算机的各个部件中最关键的设备。不仅可以向用户提供标准的系统时间,另外通过时钟中断的管理,可以实现进程的切换,如时间片轮转调度。
2. 中断机制
中断机制中只有一小部分属于内核,负责保护和恢复中断现场信息,转移控制权到相关的处理程序。
3. 原语
主要是一些关闭中断的公用小程序,主要有以下特点:
+ 处于操作系统最底层,是最接近硬件的部分。
+ 程序运行具有**原子性**,操作只能一气呵成。
+ 程序运行时间较短,调用频繁。
4. 系统控制的数据结构及处理
操作系统中需要一些用来登记状态信息的数据结构。如作业控制块,进程控制块,设备控制块,各类链表,消息队列,缓冲器,空闲登记区,内存分配表等。
## 2、中断与异常
**中断**,也称**外中断**,是系统正常功能的一部分。例如,因进程调度使系统停止当前运行的进程,或者因缺少所需资源而中断当前进程。
**异常**,也称为类中断。是由错误引起的,如文件损坏,进程越界的。
**异常通常会引起中断,而中断未必是由异常引起的**
## 3、系统调用
系统调用会把应用程序的请求传给内核,通过**陷入(trap)指令**将**用户态转变为内核态** 然后相应的内核函数会完成所需的处理,并将处理结果返回给应用程序。
![](https://picbed.kimyang.cn/202108080659314.png)

View File

@@ -0,0 +1,24 @@
---
title: 操作系统的体系结构
---
## 1、模块组合结构
把操作系统看作一个整体,由若干个功能模块按一定的结构方式组成,协同完成整个系统的功能。
+ 优点:结构紧密,接口简单直接,系统效率相对较高。
+ 缺点:不容易把握好各模块的独立性,会导致系统结构不清晰。可扩展性较差,可适应性较差。
## 2、层次结构
将操作系统的所有功能模块,按调用次序排列成若干层,使得功能模块之间只存在单向调用和单向依赖。
+ 优点:模块间的组织和依赖关系清晰明了,上层功能是建立在下层功能基础之上。系统的可读性,可适应性以及可靠性都得到了增强,便于修改和扩充。
+ 缺点。考虑系统各个功能模块的层次问题较为费时费力。
## 3、 微内核结构
在操作系统内核中只留下一些最基本的功能,而将其他服务尽可能的从内核中分离出去,用若干个运行在用户态的进程来实现,形成所谓的“客户/服务器”模式,即 C/S 模式。
+ 优点:各服务进程相互独立,可靠性好。更加灵活,方便增删服务功能。便于维护,适合分布式处理的计算环境。
+ 缺点:所有服务进程都要通过微内核互相通信,效率不高。

View File

@@ -0,0 +1,7 @@
---
title: 绪论
---
本章知识点多以选择题形式考察,记忆性内容较为多,计算性内容较少。且本章内容主要为全书知识点的一个概述。许多知识在后面会更深入学习,所以看不明白的内容可以先跳过,或者直接点击后面相关的知识点。进一步学习。

View File

@@ -0,0 +1,5 @@
---
title: 进程与线程
---

View File

@@ -0,0 +1,5 @@
---
title: 处理器调度
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: 同步与互斥
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 死锁
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 进程管理
---

View File

@@ -0,0 +1,6 @@
---
title: 内存管理基础
---
#
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: 虚拟内存管理
---
#
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: 内存管理方法对比及相关计算
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 内存管理
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 文件系统基础
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 文件系统及其实现
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: 磁盘组织与管理
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 文件管理
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 'I/O 管理概述'
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 'I/O 核心子系统'
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 设备管理
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -1,5 +1,6 @@
# 图
##本章目录
一片荒芜,期待你贡献出你的笔记~ 🥰
---
title: 补充
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: 操作系统
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,67 @@
---
title: '2022 天勤P14'
---
## 题目一
![image-20210808211117231](https://picbed.kimyang.cn/202108082111327.png)
::: details 参考答案
![image-20210808211710869](https://picbed.kimyang.cn/202108082117903.png)
:::
## 题目二
![image-20210808211156995](https://picbed.kimyang.cn/202108082111030.png)
![image-20210808211218073](https://picbed.kimyang.cn/202108082112113.png)
::: details 参考答案
![image-20210808211759788](https://picbed.kimyang.cn/202108082117855.png)
:::
## 题目三
![image-20210808211255327](https://picbed.kimyang.cn/202108082112363.png)
::: details 参考答案
![image-20210808211821071](https://picbed.kimyang.cn/202108082118132.png)
:::
## 题目四
![image-20210808211329441](https://picbed.kimyang.cn/202108082113498.png)
::: details 参考答案
![image-20210808211843954](https://picbed.kimyang.cn/202108082118989.png)
:::
## 题目五
![image-20210808211354609](https://picbed.kimyang.cn/202108082115018.png)
![image-20210808211425726](https://picbed.kimyang.cn/202108082115149.png)
::: details 参考答案
![image-20210808211858701](https://picbed.kimyang.cn/202108082118728.png)
:::
## 题目六
![image-20210808211613018](https://picbed.kimyang.cn/202108082116089.png)
::: details 参考答案
![image-20210808211922394](https://picbed.kimyang.cn/202108082119450.png)
:::

View File

@@ -0,0 +1,17 @@
---
title: 操作系统错题集
---
总结、反思、提升
##
::: details 参考答案
:::

View File

@@ -1,3 +1,6 @@
# 总线
---
title: 绪论
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: 线性表
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: 栈和队列
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -1,3 +1,6 @@
# 中央处理器
---
title: 串
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: '数组、矩阵和广义表'
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -1,3 +1,6 @@
# 第三章 存储器层次结构
---
title: 树与二叉树
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -1,3 +1,6 @@
# 计算机网络
---
title: 图
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: 排序
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -1,3 +1,6 @@
# 知识补充
---
title: 查找
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,5 @@
---
title: 数据结构
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -1,4 +1,7 @@
# 计算机系统概述
---
title: 计算机系统概述
---
## 什么是计算机系统

View File

@@ -0,0 +1,6 @@
---
title: 计算机发展历程
---
一片荒芜,期待你贡献出你的笔记~ 🥰

View File

@@ -0,0 +1,6 @@
---
title: 计算机系统层次结构
---
一片荒芜,期待你贡献出你的笔记~ 🥰

Some files were not shown because too many files have changed in this diff Show More