第一章操作系统概述

news2024/9/24 13:20:33

0.定义

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件

  1. 操作系统是系统资源的管理者
  2. 向上层提供方便易用的服务

1690553772518

1690553851174

1690554199596

1.特征

操作系统(Operating System)是配置在计算机硬件上的第一层软件。

1.并发性:
并发性是指两个或多个事件在同一时间间隔内发生;

1690465965183

并行性:
是指两个或多个事件在同一时刻发生。

并发在宏观上看起来是并行

注意(重要考点):

单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行

多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行

2.共享性是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。

  • 互斥共享方式,系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
  • 同时访问方式,系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问。

3.虚拟性通过某种技术把一个物理实体变为若干个逻辑上的对应物。

  • 时分复用技术,虚拟处理机技术、虚拟设备技术

  • 空分复用技术,虚拟磁盘技术、虚拟存储器技术

4.异步性

1690555042025

2.操作系统的功能

2.1用户与硬件接口

1.命令方式,用户通过输入有关命令来取得操作系统的服务,并控制用户程序的运行;

  • 联机命令(交互式命令)

  • 脱机命令(批处理命令);

2.系统调用方式,OS提供了一组系统调用(函数),用户可在自己的应用程序中通过相应的系统调用,来实现与操作系统的通信,并取得它的服务;

3.图形、窗口方式,它允许用户通过屏幕上的窗口和图标来实现与操作系统的通信并取得它的服务。

2.2资源的管理者

  • 处理机管理,用于分配和控制处理机;

  • 存储器管理,主要负责内存的分配与回收;

  • I/O 设备管理,负责I/O设备的分配与操纵;

  • 文件管理,负责文件的存取、共享和保护。

2.3扩充机器

3.操作系统的发展与分类

手工操作(无操作系统)

缺点:
(1)用户独占全机;

(2)CPU 等待人工操作。

批处理系统(操作系统开始出现)
(1)单道批处理系统

特点:自动性、顺序性、单道性;

缺点:I/O操作时,CPU无事可做。

(2)多道批处理系统

特点:多道性、宏观上多任务并行、微观上多任务分片串行;

优点:由于提高了CPU、内存和I/O设备的利用率,因此系统吞吐量得到提高。

1690555283573

需要解决的问题:
处理机管理问题、内存管理问题、I/O设备管理问题、文件管理问题和作业管理问题。

缺点:无交互能力

分时系统
特点:多路性、独立性、及时性和交互性;

缺点:不能优先处理一些紧急任务

实时系统
特点:多路性、独立性、及时性、交互性和可靠性

1690555418519

微机操作系统
单用户单任务系统、单用户多任务系统和多用户多任务系统。

1690555464023

4.运行机制

1690555667161

我们普通程序员写的程序就是“应用程序”

微软、苹果有一帮人负责实现操作系统,他们写的是“内核程序

由很多内核程序组成了“操作系统内核”,或简称“内核(Kernel

内核是操作系统最重要最核心心的部分,也是最接近硬件的部分

4.1内核态与用户态

CPU有两种状态,“内核态”和“用户态”

处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令

处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令

拓展:CPU中有一个寄存器叫程序状态字寄存器(PSW),其中有个二进制位,1表示“内核态”,0表示“用户态”

内核态→用户态:执行一条特权指令――修改PSW的标志位为“用户态”,这个动作意味着操作系统将主动让出CPU使用权

用户态→内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权

1690556368507

4.2中断、异常

1690556439541

“中断”是让操作系统内核夺回CPU使用权的唯一途径

1690556857893

中断机制的基本原理

不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置。

4.3系统调用

1690636146273

“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务

1690636290084

什么功能要用到系统调用?
应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

系统调用的过程:

传递系统调用参数→执行陷入指令(用户态)→执行相应的内请求核程序处理系统调用(核心态)→返回应用程序

注意:

1.陷入指令(trap指令、访管指令)是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态
⒉.发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行

5.操作系统体系结构

操作系统的内核

1690638150116

内核是操作系统最基本、最核心的部分。
实现操作系统内核功能的那些程序就是内核程序。

注意:

操作系统内核需要运行在内核态

操作系统的非内核功能运行在用户态

1690638346357

1690638623759

习题

在单处理器系统中,可并行的是(A)

l.进程与进程
lI.处理器与设备
III.处理器与通道
IV.设备与设备

AI、Il和Ⅲ

B. l、ll和Iv

C. I、Ⅲ和V

D.lI、Ⅲ和IV

下列选项中,操作系统提供给应用程序的接口是(A) 。

A系统调用

B.中断

C.库函数

D.原语

(2011年统考真题)下列选项中,在用户态执行的是(A) 。

A命令解释程序

B.缺页处理程序

C.进程调度程序

D、时钟中断处理程序

目态︰又叫常态或用户态。机器处于目态时,程序只能执行非特权指合
管态︰又叫特权态,系统态或核心态。CPU在管态下可以执行指合系统的全集。通常,操作系统在管态下运行。

一个多道批处理系统中仅有PI和P2两个作业, P2比PI晚5ms到达。它们的计算和I/O操作顺序如下∶

PI︰计算60ms,IO 80ms,计算20ms

P2∶计算I20ms,I/O 40ms,计算40ms

若不考虑调度和切换时间,则完成两个作业需要的时间最少是(B)

A.240ms

B. 260ms

C. 340ms

D.360ms

1690469593005

下列选项中,不可能在用户态发生的事件是(C) 。
A系统调用
B.外部中断
C.进程切换
D.缺页

中断处理和子程序调用都需要压栈以保护现场。中断处理一定会保存而子程序调
用不需要保存其内容的是(B) 。
A.程序计数器
B.程序状态字寄存器
C.通用数据寄存器
D.通用地址寄存器

计算机开机之后,操作系统最终被加载到(D) 。
A. BIOS
B.ROM
C. EPROM
D.RAM

ROM只读存储器,不可能加载到其中。

BIOS是一种软件

RAM是随机存储器

下列选项中,会导致用户进程从用户态切换到内核态的操作是(B) 。
l.整数除以零

ll. sin()函数调用

Ⅲ. read系统调用
A仅l、lI

B.仅l、Ⅲ

C.仅lI、Ⅲ

D.I、ll和Ⅲ

sin()函数调用普通函数的调用

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

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

相关文章

C语言:通讯录(文件操作+动态内存管理) 简易版

目录 前言 一,通讯录菜单 二,通讯录菜单主函数 1.使用枚举: 2.主函数: 三,通讯录功能实现 1.创建通讯录 2.初始化通讯录 3,添加联系人 4,删除联系人 5,搜索联系人 6&…

SpringBoot面试题及答案整理

1、什么是 Spring Boot? 多年来,随着新功能的增加,spring 变得越来越复杂。访问spring官网页面,我们就会看到可以在我们的应用程序中使用的所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目,我们必须添…

【MTI 6.S081 Lab】Page tables

【MTI 6.S081 Lab】Page tables Speed up system calls (easy)实验任务Hints哪些其它的系统调用能通过这个共享页面变得更快,请解释。解决方案分配和释放页面初始化结构 实验心得 Print a page table (easy)实验任务Hints根据图3-4从文本中解释vmprint的输出。第0页…

机器学习:自动编码器Auto-encoder

Self-supervised Learning Framework 不用标注数据就能学习的任务,比如Bert之类的。但最早的方法是Auto-encoder。 Outline Auto-encoder encoder输出的向量,被decoder还原的图片,让输出的图片与输入的图片越接近越好。 将原始的高维向量变…

红黑树解密:为什么根节点必须是黑色,两个红色节点不能挨着?

红黑树解密:为什么根节点必须是黑色,两个红色节点不能挨着? 博主简介一、引言1.1、红黑树是什么及其特点1.2、根节点为黑色和红色节点不连续的性质介绍 二、为何根节点必须是黑色?三、为何两个红色节点不能挨着?总结 博…

PCB绘制时踩的坑 - SOT-223封装

SOT-223封装并不是同一的,细分的话可以分为两种常用的封装。尤其是tab脚的属性很容易搞错。如果你想着用tab脚连接有属性的铺铜,来提高散热效率,那么你一定要注意你购买的器件tab脚的属性。 第一种如下图,第1脚为GND,第…

Packet Tracer - 备份配置文件

Packet Tracer - 备份配置文件 目标 第 1 部分:与 TFTP 服务器建立连接 第 2 部分:从 TFTP 服务器传输配置 第 3 部分:将配置和 IOS 备份到 TFTP 服务器上 拓扑图 背景/场景 本练习旨在展示如何从备份恢复配置,然后执行新的…

Stephen Wolfram:神经网络

Neural Nets 神经网络 OK, so how do our typical models for tasks like image recognition actually work? The most popular—and successful—current approach uses neural nets. Invented—in a form remarkably close to their use today—in the 1940s, neural nets …

如何查找网页的cookie【以两步路平台】

登录/注册账号【重要】 进入开发人员工具 刷新页面,发现“全部”对应的列表发生改变 找到列表首页的文本后缀.htm的信息,点开后查找网站的Cookie。 注意:Cookie必须在登陆后的才有效,并且每次爬取都需要重新查找更新Cookie&…

六、初始化和清理(1)

本章概要 利用构造器保证初始化方法重载 区分重载方法重载与基本类型返回值的重载无参构造器 this 关键字在构造器中调用构造器static 的含义 利用构造器保证初始化 "不安全"的编程是造成编程代价昂贵的罪魁祸首之一。有两个安全性问题:初始化和清理。…

redis和数据库双写不一致一般如何解决-面试

先介绍一下常规的几种做法 1、先删缓存,在改数据库 2、先改数据库,在删缓存 3、先改数据库,在改缓存 4、延迟双删(先删缓存,再改数据库,延迟几百毫秒,再删缓存),此方…

通过gre隧道建立私有专用网络

Internet 配置 vlan 128 vlan 202 router1: router2: router1 ping router 2

一起学SF框架系列5.11-spring-beans-数据校验validation

在日常的项目开发中,应用在执行业务逻辑之前,为了防止非法参数对业务造成的影响,必须通过校验保证传入数据是合法正确的,但很多时候同样的校验出现了多次,在不同的层,不同的方法上,导致代码冗余…

map求和accumulate、参数互换

运行代码&#xff1a; //map求和accumulate、参数互换 #include"std_lib_facilities.h"istream& operator>>(istream& is, map<string, int>&mm) {string ss"";int ii0;is >> ss;if(is>>ii)mm[ss] ii;return is; }t…

VSCode中python代码输出中文乱码解决

前言 最近在vs code里面执行python脚本时&#xff0c;只有打印中文&#xff0c;就会乱码。 内容 先检查右下角编码集设置是否正确 检查右下角编码集设置是否正确 &#xff1a; 如果不是utf-8点击修改。 如果还是不行&#xff0c;就进行下面的操作 修改用户设置 路径&a…

【算法基础:动态规划】5.1 背包问题

文章目录 01背包例题&#xff1a;2. 01背包问题 完全背包例题&#xff1a;3. 完全背包问题 多重背包例题&#xff1a;4. 多重背包问题 I例题&#xff1a;5. 多重背包问题 II&#xff08;数据范围较大&#xff1a;二进制优化&#xff09; 分组背包例题&#xff1a;9. 分组背包问…

2023/7/29总结

项目&#xff1a; 这几天主要实现了评论的功能点: 还是有点小bug&#xff0c;还在更改中…… 修改个人中心的界面 接下来是把收藏完善&#xff0c;因为收藏需要用户自己创建一个新的收藏夹

iOS开发-转场动画切换界面(类似系统动画)

iOS开发-转场动画切换界面&#xff08;类似系统动画&#xff09; 在开发中&#xff0c;无论我们使用 push 还是 present 推出新的 viewcontroller 时&#xff0c;系统为了提高用户体验都会为我们默认加上一些过渡动画。但是开发中需要自定义过度动画效果。这里就需要用到了转场…

二十五章:用于弱监督语义分割的激活调节和重新校准方案

0.摘要 图像级弱监督语义分割&#xff08;WSSS&#xff09;是一项基础而具有挑战性的计算机视觉任务&#xff0c;有助于场景理解和自动驾驶。大多数现有方法利用基于分类的类激活图&#xff08;CAMs&#xff09;作为初始伪标签&#xff0c;但这些方法往往关注区分性的图像区域&…

Leetcode刷题---C语言实现初阶数据结构---单链表

1 删除链表中等于给定值 val 的所有节点 删除链表中等于给定值 val 的所有节点 给你一个链表的头节点head和一个整数val&#xff0c;请你删除链表中所有满足Node.valval的节点&#xff0c;并返回新的头节点 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[…