linux操作系统运行学习总结
https://www.cnblogs.com/f-ck-need-u/p/10481466.html
操作系统学习总结
1、linux上面cpu通过上下文切换达到进程的不断切换,通过动态计算切换执行的时长叫时间片。
2、操作系统系统进程分为内核态和用户态进程
3、操作系统为了具备最高权限让用户进程不具备最高权限,cpu中提供了PSW的寄存器中保存了进程有关的控制器,其中分两种运行模式:内核模式和用户模式
4、中断用于打断cpu正常执行的流程,同时能保证cpu控制权交给操作系统。中断分为硬件中断和软件中断
5、系统调用:
发起系统调用,请求操作系统帮忙执行某些操作,这会产生软中断;
软中断导致陷入内核,CPU控制权交给操作系统,操作系统处理中断,即执行被请求的操作;
如果一切正常,操作系统在完成操作后会恢复到断点处继续向下执行,这会回到用户态;
用户进程取得操作系统操作的成果,继续向下执行。
6、cpu在空闲后执行操作系统上面的Idle的进程,该进程主要计算cpu的空闲时间
7、操作系统通过在物理内存上面分配一个地址空间来实现进程内存管理
管道:
管道是进程间通信方式。没创建一个管道,就有两个文件描述符,一个是负责读管道的,一个是负责写管道的。使用管道通信时,就是两个文件描述符加一段内核空间中的内存
管道分为匿名管道和命名管道
信号量:
1、如果一个进程操作P操作(减1操作,即请求一个信号灯),如果减去之后信号量的数值为负数,则该进程被阻塞,如果减去之后为0或正数,则放行该进程
2、如果一个进程请求V操作(加1操作,即释放或增加一个信号灯),进程直接放行
3、如果请求V操作,如果加1之后仍为0或负数,则方向该进程的同时还唤醒另一个被阻塞的进程。如果加1后为正数,则直接添加一个信号等资源
总结:
最简单的信号量当然是初始时只适用1个信号灯,从而实现互诉锁(也成为互诉量)机制:P是申请锁操作,只有在有值为1的时候才能申请锁,否则被阻塞;V是释放锁,一直被放行
锁
1、脏读:将缓存中修改后但没有保存的数据称为脏数据
2、更新丢失:同时修改数据时,有一个进程的更新被覆盖了,也就是丢失了
一般锁分为两类:共享锁和互诉锁。共享锁也称为读锁,通常使用S字母表示;互诉锁也成为排他锁或写锁,通常使用X字母表示。
S X
S YES NO
X NO NO
下面是兼容性介绍:
1、当多个进程都只是读取同一份资源(即都申请S锁),因为没有修改数据,所以可以允许他们同时读取,所以S锁是可以共存的
2、如果有一个进程修改数据,它将申请X锁,这时显然不能让其他进程读取或写入数据,所以X锁与S锁、X锁和X锁都是互诉的
3、如果一个进程正在读取数据(即已申请S锁),其它进程想修改数据,也是不允许的,所以S锁和X锁是互诉的
程序如何变成进程
OS要让磁盘上一个可执行格式(不是可执行权限)程序运行起来,第一件事是装载(load)程序的相关代码以及静态数据(例如已初始化的变量)到内存中(具体的是到自己的虚拟地址空间,虚拟地址空间后面介绍)
在Unix系统中,设置好每个进程都关联的3个文件描述符:stdout、stdin、stderr),
程序都是由main()函数作为入口,然后OS将CPU控制权交给新创建的进程,进程获取到CPU后就可以执行了
进程表和进程数据结构
内核负责管理维护所有进程,内核在内核空间维护一个进程的数据结构,这个数据结构中记录了所有进程,每个进程在数据结构中都成为一个进程表项
进程表中除了记录了所有进程的PID,还使用一个字段记录了所有进程的指针,指向每个进程的进程控制块
在Linux中进程就是一个task_struct数据结构,所以PCB代表的就是task_struct(一个进程)
PCB包含了进程非常重要的信息,是上下文切换的关键,它保存在每个进程的内核栈中(用户栈和内核栈)
linux操作系统运行学习总结的更多相关文章
- 安装Linux操作系统,学习Liunx基础
安装Linux操作系统 遇到的问题以及解决方法 问题1:安装虚拟机时出现以下界面 解决方法 我的电脑--右击--管理--服务和应用服务--服务--在服务里启动:Device Install Servi ...
- 《趣谈 Linux 操作系统》学习笔记(一):为什么要学 Linux 及学习路径
前言:学习的课程来自极客时间的专栏<趣谈 Linux 操作系统>,作者用形象化的比喻和丰富的图片让课程变得比较易懂,为了避免知识看过就忘,打算通过写学习笔记的形式记录自己的学习过程. Li ...
- Linux操作系统服务器学习笔记一
初识Linux: Linux 是什么? Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议 ...
- Linux操作系统入门学习总结(2015.10)
用了差不多45天的时间把Linux操作系统入门的资料学习了下.主要阅读了以下几本书: 鸟哥的私房菜:Linux基础学习篇(第三版) "Running Linux" <LINU ...
- 安装Linux操作系统,学习Linux基础
第一项:安装Linux系统 遇到的问题: 1.操作过程中遇到权限不足的情况. 解决过程:通过百度后发现可以使用sudo,或chmod命令解决. 2.在以上过程中对chmod命令的用法产生疑惑. 解决过 ...
- 《趣谈 Linux 操作系统》学习笔记(二):对 Linux 操作系统的理解
首先,我们知道操作系统是管理和控制计算机硬件与软件资源的计算机程序.这里把操作系统想象为一个软件外包公司,其内核就相当于这家外包公司的老板,那么我们可以把自己的角色切换成这家外包公司的老板,设身处地的 ...
- 2021-2022 20211420 《信息安全专业导论》安装Linux操作系统并学习Linux基础
作业信息 |作业属于|https://edu.cnblogs.com/campus/besti/2021-2022-1fois |作业要求|https://edu.cnblogs.com/campus ...
- linux操作系统运行一个java程序并外网访问
(一)安装jdk 1.新建文档java : mkdir java 2.进入java并且下载jdk 下载jdk : wget --no-check-certificate --no-cooki ...
- 深挖计算机基础:趣谈Linux操作系统学习笔记
参考极客时间专栏<趣谈Linux操作系统>学习笔记 核心原理篇:内存管理 趣谈Linux操作系统学习笔记:第二十讲 趣谈Linux操作系统学习笔记:第二十一讲 趣谈Linux操作系统学习笔 ...
随机推荐
- java打包上传服务器的一些命令
Maven下package打包成jar包和war包,都在target目录下 其中War包扔在tomcat的webapps目录下.随tomcat启动自行启动 运行jar包命令. nohup java - ...
- vue-learning:23 - js - leftcycle hooks
vue 生命周期钩子函数 每一个Vue实例在创建时都需要经过一系列初始化.根据vue实例化过程中执行的逻辑,可以分为5个阶段: 初始化阶段 模板编译阶段 虚拟DOM挂载阶段 响应更新阶段 卸载阶段 这 ...
- C++Review2_代码复用
C++的一个重要目的是实现代码重用. 有哪些机制可以实现这个目标呢? 1.公有继承——is a的关系 2.包含 (新的类包含另一个类的对象)——has a的关系 3.私有继承/保护继承——has a的 ...
- Eclipse 代码快捷键模板(一)
话不多说,自行google. 设置快捷键,打开eclipse,依次打开:Window -> Preferences -> General -> Key. 设置代码快捷键,打卡ecli ...
- b方式操作文件
f=open('test11.py','rb',encoding='utf-8') #b的方式不能指定编码 f=open('test11.py','rb') #b的方式不能指定编码 data=f.re ...
- c#链接redis用户名密码
方法一 使用:ServiceStack.Redis 在ip:port前面加上@用来表示密码,比如password@ip:port <add key="RedisServer" ...
- 《HelloGitHub》第 45 期
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...
- xcode无线调试
前言: xcode9 以上才会有无线调试这个功能,换了一个type-c口的mac,公司的新电脑,但是公司不给配转接口,到某东看了一下,type-c口同时可以转化usb和VGA的要198,官网差不多50 ...
- rest_framework框架之认证功能的使用和源码实现流程分析
rest_framework框架之认证的使用和源码实现流程分析 一.认证功能的源码流程 创建视图函数 Note 创建视图函数后,前端发起请求,url分配路由,执行视图类,视图类中执行对应方法必须经过d ...
- ConcurrentHashMap 原理解析
为什么要用ConcurrentHashMap HashMap线程不安全,而Hashtable是线程安全,但是它使用了synchronized进行方法同步,插入.读取数据都使用了synchronized ...