IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 操作系统重要知识点整理 -> 正文阅读

[系统运维]操作系统重要知识点整理

1.什么叫操作系统

我们思考一个问题,就是操作系统是怎么来的
早期没有操作系统时,人们需要自己对计算机进行直接操作,十分的复杂.而操作系统的出现可以让你甩手做老板!只需要发布命令就可以啦.操作系统会指挥计算机完成命令的.由此可以看到,严格算的话,操作系统的本质是软件.它可以帮你管理计算机的软硬件,同时又受命于你.
用正式一点的话来说(咳咳~):
操作系统的全称是操作系统软件,它本质是个软件。操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石

2.操作系统的功能

拥有了一个操作系统,你就像拥有了一个全能秘书,既可以很好的理解你的命令,又把计算机内部管理得井井有条.首先,它是要服务于你的,所以得用获取你的需求,计算机的外设就是接受你的命令的工具,你可以理解为每天把要做的事情放在某个地方,让秘书来取.而接收和理解你命令的行为,正式一点讲,就是提供"接口".其次还得管处理机,这样才能确保计算机得运行.然后是内存管理,对存放数据或程序的地方进行管理.要用的数据或程序哪里放,放哪里可以方便调用.最后,是对程序和数据等资源本身的管理,比如它们的存取、共享和保护.
用正式一点的话来说(咳咳~):
操作系统有一下五点功能:
1)用户接口(命令接口(你要给自己的秘书具体讲要干啥干啥的),图形接口(你下巴一抬,秘书自己理解你干什么,你只需要高冷的说几个字就行了),系统调用接口(这里有一个名词系统调用,在第5个知识点中有解释)
2)处理机管理(进程管理(CPU分配))
3)设备管理(缓冲管理、设备分配、设备处理)
4)存储管理(内存管理,包括内存分配、内存保护、内存映射、内存扩充)
5)文件管理(文件存储管理、目录管理、文件保护)

3.操作系统的基本特征

了解操作系统的基本特征就像了解一个人一样~先看整体感觉,再看细节,再深入了解一点,就会想要剖析一个人某种性格形成的原因
首先,我们远观操作系统时,感觉他同时可以做很多事情,这种现象可以形容为并发性,但是如果我们接近去看,则发现这个同时是有时差的,表面上看各项任务都在推进,但实际上,一个时间只干CPU只干一件事.这就造成个程序之间的执行不是同时的,这种现象是异步性.我们接下来讨论为什么会有异步性,是因为资源是有限的,是独占的,是各个进程公用的.这就是操作系统的另一个特征共享性.最后,很多个进程同时执行会造成一种有很多个CPU的假象,但实际只有一个CPU(当然,多核处理器是存在的),这是操作系统虚拟性的体现.
用简洁官方的话讲:
并发性:宏观上,同一时间多道程序同时进行
异步性:多道程序的情况下,一个CPU只允许一个进程执行
虚拟性:把物理上的一个变成逻辑上的多个(上述CPU的栗子)或把物理上的多个变成逻辑上的一个(这个举个例子:比如讲内存(主存和辅存)统一编址,形成虚拟内存.逻辑上只有一个,而物理上非也)
共享性:多个程序共享一个资源

4.操作系统的发展过程

操作系统的整个发展过程有两大重要的因素,一个是人,一个是资源
最初的操作系统是人工的

5.核心态和用户态

系统调用将Linux整个体系分为用户态和内核态(或者说内核空间和用户空间)。那内核态到底是什么呢?其实从本质上说就是我们所说的内核,它是一种特殊的软件程序,特殊在哪儿呢?控制计算机的硬件资源,例如协调CPU资源,分配内存资源,并且提供稳定的环境供应用程序运行。
用户态就是提供应用程序运行的空间,为了使应用程序访问到内核管理的资源例如CPU,内存,I/O。内核必须提供一组通用的访问接口,这些接口就叫系统调用。所以用户态的用户不是电脑前的你哦

6.中断技术

中断技术和通道技术是主机和外设并行工作的基础,是程序并发执行的推动力,是整个操作系统的推动力,这里我们先聊一下中断
中断概念:某事件发生时,系统终止现行程序的运行,引出中断处理程序处理时间,而后返回继点,继续运行.
这里我们要提到另一个概念轮询,轮询和中断是两个处理事情的不同方式(这里举个栗子:有人请你帮忙做事,中断的处理方式是你搁置自己的事情去帮他,而轮询则是,你完成一件自己的事情,就问一遍那个人:现在要帮忙吗~)
所以轮询的概念:轮询(Polling是让CPU以一定的周期按次序查询每一个外设,看它是否有数据输入或输出的要求,若有,则进行相应的输入/输出服务;若无,或I/O处理完毕柏,CPU就接着查询下一个外设。

7.通道技术

这里聊一下通道技术:通道是一种控制一台或多台外部设备的硬件机构,它一旦被启动就独立与CPU运行,因而做到了输入输出操作与CPU并行工作。但早期CPU与通道的联络方法是由CPU向通道发出询问指令来了解通道工作是否完成(即6中提到的轮询)(中间过程还是需要CPU参与)。若未完成,则主机就循环询问直到通道工作结束为止。因此,这种询问方式是无法真正做到CPU与I/O设备并行工作的。此时中断发挥了作用。 因此,通道技术和中断技术结合起来就可实现CPU与I/O设备并行工作,即CPU启动通道传输数据后便去执行其他程序的计算工作,而通道则进行输入输出操作;当通道工作结束时,再通过中断机构向CPU发出中断请求,CPU则暂停正在执行的操作,对出现的中断进行处理,处理完后则继续原来的工作。这样,就真正做到了CPU与I/O设备并行工作。此时,多道程序的概念才变为现实。总而言之,通道代替了CPU管理I/O的工作,中断会在I/O工作完成时通知CPU。这也是通道技术和中断技术的关系.

8.进程与线程

关于进程与线程的解释,这里有一个可爱的栗子,指路:
https://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html
这里给一点正经的描述(看完栗子再回来!!评论也要看!下面的也要看!):
进程的概念:进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程一般由程序,数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时所需要的数据和工作区程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志
线程的概念:线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。一个进程可以有一个或
多个线程,各个线程之间共享程序的内存空间(也就是所在进程的内存空间)。
进程和线程的区别:
1. 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;
2. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线
3. 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),某进程内的线程在其他进程不可见;
4. 调度和切换:线程上下文切换比进程上下文切换要快得多
进程的基本状态图(太丑了…):

阻塞
就绪
创建
执行
终止

进程的同步与通信:
进程同步:
同步与互斥的概念:
互斥:是指多个进程不允许同时使用同一资源。当某个进程使用某种资源的时候,其他进程必须等待。所以资源不能被多个进程同时使用。在这种情况下,程序的执行与其他进程无关。
同步:是指多个进程中发生的事件存在某种先后顺序。即某些进程的执行必须先于另一些进程。其任务是使得并发执行的诸多进程有效的共享资源和相互合作,从而使程序的执行具有可再现性。这种情况下,进程间接知道对方。
**进程通信:**通信工具有低级和高级通信工具两种,低级通信是指互斥和同步交换的一些信息,比如信号量
这里介绍三类高级通信工具(机制):
1)共享存储器系统 2)消息传递系统 3)管道通信系统
https://zhuanlan.zhihu.com/p/51194025

最后一个相关知识点:
进程的调度算法有哪些?
1)先来先服务(FCFS)
2)最短作业优先(JSF)
3)优先权调度:时间长短\等待时间决定优先权
4)轮转调度算法(RR):设时间片、按时间片来轮转调度

9.死锁的相关概念

死锁的概念:死锁是在多进程执行时遇到的一种僵局。即当一个进程申请资源时,如果这时没有可用资源,那么这个进程进入等待状态。如果所申请的资源被其他等待状态的进程占有,那么该等待进程有可能再也无法改变状态。这种情况称为死锁。
死锁的产生的必要条件
1)互斥条件:资源不可被共享
2)请求与保持条件:进程在申请新的资源的同时,可以继续占用已分配到的资源。
3)非抢占条件:已经分配的资源不能被抢夺
4)循环等待:在发生死锁时必然存在一个进程等待队列{P1,P2,…,Pn},其中P1等待P2占有的资源,P2等待P3占有的资源,…,Pn等待P1占有的资源,形成一个进程等待环路,环路中每一个进程所占有的资源同时被另一个申请
死锁的处理
1)通过协议来预防或避免死锁,确保系统不会进入死锁状态。
避免死锁的发生自然要从限制死锁产生的必要条件入手,要打破死锁产生的必要条件之一,死锁就不会产生.
常见了预防措施针对四条必要条件的某一条设定的:
资源一次性分配:一次性分配所有资源,这样就不会再有请求(破坏请求条件
只要有一个资源得不到分配,也不给这个进程分配其他的资源:(破坏请保持条件
可剥夺资源:即当某进程获得了部分资源,但得不到其它资源,则释放已占有的资源(破坏不可剥夺条件
资源有序分配法:系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,申请的时候可以先申请资源序号小的,再申请资源序号大的,释放则相反(破坏环路等待条件
2)可以忽视这个问题,认为死锁不可能在系统内发生。(Linux和Windows系统的做法)

10 内存管理

戳这篇!!!很详尽了!!
https://zhuanlan.zhihu.com/p/87514615.

好累 噗呲 先发出去后面完善好了

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:57:06  更:2021-09-04 17:57:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:53:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码