王道操作系统学习笔记(1)——操作系统基本概念

news2024/11/20 8:35:38

前言

本文介绍了操作系统的基本概念,文章中的内容来自B站王道考研操作系统课程,想要完整学习的可以到B站官方看完整版。

一:操作系统基本概念

1.1.1:基本概念和功能

操作系统:系统资源的管理者(处理机管理、存储器管理、文件管理、设备管理)

交互式命令(在终端中输命令)和批处理命令(Shell脚本)

1.1.2:基本特征(并发、共享、虚拟、异步)

并发:宏观上同时发生,微观上还是一件一件事交替发生

并行:同一时刻做多件事

单核CPU只能并发、多核CPU可以并行

资源共享(互斥共享、同时共享)

虚拟技术(空分复用、时分复用):把物理上的实体变为若干逻辑上的对应物

空分复用:

时分复用技术:微观上处理机在各个微小的时间段内交替为各个进程服务

异步性:多个程序并发执行时,由于系统资源有限,一个进程可能此时占着一份资源,另一个程序想用却用不了

1.2.1:操作系统的发展和分类(多道批处理系统、分时操作系统、实时操作系统、分布式操作系统)

多道批处理系统:

分时操作系统:计算机以时间片的单位轮流执行各个程序,允许多个程序使用一个处理器,并且多个程序对计算机的操作相互独立,缺点就是不能优先处理一些紧急的任务,每个程序都是完全公平的。

 

实时操作系统:能够优先响应一些紧急的任务,某些紧急的任务不需要时间片排队。计算机系统在收到外部信号后及时进行处理,并且严格要求在有限的时间内处理完事件。

实时操作系统又分硬实时操作系统软实时操作系统

分布式操作系统:系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。

1.3.1:操作系统运行机制(特权指令、内核态、非特权指令、用户态)

CPU在内核态和用户态之间的切换

内核态->用户态:操作PSW寄存器相关位

用户态->内核态:产生中断信号

1.3.2:中断和异常(内中断、外中断)

内中断:与当前执行的指令有关,中断信号来源于CPU内部

1:CPU处于用户态执行了一条特权指令

2:一些非法的操作(除数为0)

3:陷入指令(非特权指令),在应用程序中使用系统调用

外中断:与当前执行的指令无关,中断信号来自CPU外部(时钟中断、I/O输入输出中断)

1:时钟中断(多个程序可以并发运行的基础)

2:IO中断

1.3.3:系统调用

系统调用是操作系统提供给应用程序的一组接口,用于访问操作系统的服务和资源。应用程序通过系统调用向操作系统发出请求,操作系统则执行相应的操作并返回结果给应用程序。

1.4.1:操作系统的引导(Linux启动流程)

1、BIOS自检:计算机开机之后,执行BIOS的自检程序,检查硬件设备是否正常。如果硬件功能都正常就会启动引导加载程序(boot loader)。

2、引导加载程序(boot loader):引导程序是Linux启动的第一个程序,其作用是将内核映像文件(vmlinuz)加载到内存中,常用的引导程序有grub和lilo。

3、内核初始化:内核镜像文件加载到内存之后会进行初始化,然后启动内核进程(硬件初始化、加载驱动、挂载文件系统等)

4、init进程启动:内核初始化完成之后会启动第一个用户进程init,init是用户空间进程的父进程,会执行一些初始化脚本的。

5、根据运行级别启动相应的服务:init进程启动之后会根据runlevel的设置来执行相应的初始化脚本,执行系统服务和进程。

 /etc目录下七个不同运行级别会启动的服务程序存放文件夹

 软链接本质指向的还是/etc/init.d下的程序

6、用户登录:所有系统服务启动完成之后就是用户输入用户名和密码

总结

以上是本文的全部内容,非常感谢你能看到这。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/680731.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QGIS 插件获取哨兵数据

基于 Sentinel Hub QGIS 插件,该插件允许您直接在 QGIS中配置和利用Sentinel Hub 服务的强大功能。该插件可视化 Sentinel 数据,可用于正在处理的任何其他项目中。 来自:GIS数据栈整理:GIS数据栈 一起来看看如何在QGIS中使用吧&am…

6张图表 + 1个案例 带你入门tcpdump的使用和原理

一、tcpdump简介 tcpdump是什么? 来看看 tcpdump官网怎么说:This is the home web site of tcpdump, a powerful command-line packet analyzer; and libpcap, a portable C/C library for network traffic capture. 不妨来看看chatGPT插件怎么说&…

【自我提升】openCV基本操作

写在前面:本篇博客主要是记录opnecv的基本操作,不记录安装等步骤。方便回顾和查找方法。 一、图像的IO操作,读取和保存方法 读取图像 在OpenCV中,读取图像的函数是imread()。该函数可以从指定的文件中加载图像,返回值…

Qt6.2教程——5.QT常用控件QLabel

1. QLabel简介 QLabel是Qt库中一个非常基础且重要的类。它主要用于在图形用户界面(GUI)中展示文本或图片。最常见的用法就是在窗口上显示一段文字或者标签,比如“用户名”,“密码”等等。QLabel继承自QFrame,因此它也可以具有框架。它能处理…

0005Java程序设计-jsp企业财务管理系统设计与实现

企业财务管理系统 摘要 对于企业集来说,财务管理的地位很重要。随着计算机和网络在企业中的广泛应用,企业发展速度在不断加快,在这种市场竞争冲击下企业财务管理系统必须优先发展,这样才能保证在竞争中处于优势地位。对此企业必须实现财务管…

安卓平板修改和平精英90帧、120帧超广角,2k/4k分辨率(无需root!!!)

前言:今天我们将探讨如何在安卓平板上修改和平精英超广角以及高帧率画质效果。 1、首先,我们要知道平板改超广角的好处是什么?我们都知道平板相比于手机显示宽度是要更大的,如果平板再改个超广角效果,甚至连脚都可以看…

避免滥用Qt信号与槽——改进taskBus 平台以吞吐20M IQ采样带宽

taskBus 软件无线电平台是一款依靠 stdin-stdout进行数据吞吐的教学平台。在平台创建之初,主要使用 RTL-SDR进行简单的窄带接收应用,并没有考虑采样率超过1.8M的情况。引入 USRP B210/B205mini后,采样率瞬间提高到2M以上,此时&…

springboot+vue项目中如何利用七牛云实现头像的上传

做了个前后端分离的项目,对于用户的头像修改一直不是很满意, 于是用了Vant4的组件库改成了文件点击上传,先是打算存到本地,了解到七牛云的方便后(主要是免费),决定改成七牛云存储图片&#xff…

ElasticSearch的安装和访问

ElasticSearch的安装 前言: 本次下载是在Windows系统进行操作,版本为7.6.1,因为下周最新版本的8.1.2有问题 ElasticSearch基于Java开发,JDK最低1.8版本 ElasticSearch的版本要和之后引入的Maven的Jar包版本对应 1 下载ElasticSearch 官网:https://www.elastic.co/cn/ 产品…

01.2总线驱动设备设计思想

sysfs文件系统 sysfs文件系统是Linux2.6版本引入的虚拟文件系统。sysfs把连接在系统上的设备模型组织_ 成为一个分级的层次视图。并且可以向用户空间导出内核数据结构以及属性。 比如下面的图可以看出来当前支持的总线和相关的数据 在sys文件系统中每一个目录都对应着一个kob…

电商项目10:商品管理、仓库管理

电商项目10:商品管理、仓库管理 1、商品管理1.1、spu检索1.1.1、后端1.1.2、前端 1.2、sku检索1.2.1、后端 2、库存管理2.1、启动ware后端微服务2.2、仓库维护查询2.3、查询商品库存2.4、查询采购需求 1、商品管理 1.1、spu检索 1.1.1、后端 spu检索接口文档 S…

用了这么久IDEA其中中的Modules、Libraries、Facets、Artificats他们的作用到底是什么?

Modules Modules通常是说我们该项目当前拥有的模块。拿微服务来说,通常需要将功能分离出来,形成一个个模块,因此每个功能就需要一个模块Modules,即一个小项目。 里面有Sources、Paths、Dependencies。像Sources我们可以将我们想…

如何安装 kubernetes dashboard 让 k8s 的操作可视化

kubernetes dashboard 是 k8s 自带的 k8s 图形化管理工具。使用这个工具可以帮助用户通过图形化页面配置 k8s 资源,掌握 k8s 系统的整体使用情况,把用户的双手从敲 kubectl 命令中解放出来。 下面我们就介绍安装 kubernetes dashboard 的详细步骤。 下载…

d2l_notes_ch1-ch2

1. 引言 1)机器学习 > 表示学习 > 深度学习 表示学习是机器学习子集,其研究重点是如何⾃动找到合适的数据表示方式。深度学习是通过学习多层次的转换来进⾏的多层次的表示学习。 深度学习是机器学习的一个子集,但相比传统的机器学习方…

DevOps系列文章之Docker部署web ssh工具sshwifty

一、介绍 1.sshwifty简介 sshwifty是一款Web SSH & Telnet(WebSSH & WebTelnet 客户端工具。 2.shwifty 特点 shwifty 是为 Web 设计的 SSH 和 Telnet 连接器。它可以部署在您的计算机或服务器上,为任何兼容(标准)的网络…

自定义Spring Boot Starter

Spring Boot starter 我们知道Spring Boot大大简化了项目初始搭建以及开发过程,而这些都是通过Spring Boot提供的starter来完成的。在实际项目中一些基础模块其本质就是starter,所以我们需要对Spring Boot的starter有一个全面深入的了解,这是…

Codesys单轴控制实现多段速控制功能

b一、序言 在设备加工行业,很多工艺要用到多段速控制,比如切割,打孔,攻丝等,刀具未碰到工件时可以快速行走,刀具碰到工件时需要慢速加工,而有些工艺在加工时随着刀具越走越深,其进刀…

掌握Python的X篇_4_开发工具ipython与vscode的安装使用,作业

本篇将会介绍两个工具的安装及使用来提高Python的编程效率。 ipython:比python更好用的交互式开发环境vscode:本身是文本编辑器,通过安装相关的插件vscode可以作为python集中开发环境使用 掌握Python的X篇_4_开发工具ipython与vscode的安装使…