操作系统笔记-第一章
文章目录
- 操作系统概述
- 1. 操作系统的概念
- 1.1 操作系统的地位
- 1.2 操作系统的作用
- 1.3 操作系统的定义
- 2. 操作系统的历史
- 2.1 操作系统的产生
- 2.1.1 手动操作阶段(20世纪40年代)
- 2.1.2 批处理阶段(20世纪50年代)
- 2.1.3 执行系统阶段(20世纪60年代初期)
- 2.2 操作系统的完善
- 2.2.1 多道处理系统(20世纪60年代初期)
- 2.2.2 分时系统(20世纪60年代初期和中期)
- 2.2.3 实时处理系统(20世纪60年代中期)
- 2.2.4 通用操作系统(20世纪60年代后期)
- 2.3 操作系统的发展
- 3 操作系统的特性
- 3.1 程序并发性
- 3.1.1 并发与并行的区别
- 3.2 资源共享性
- 3.3 异步性
- 3.4 虚拟性
- 4 操作系统的分类
- 4.1 多道批处理操作系统(batch processing system)
- 4.2 分时操作系统(time-sharing system)
- 4.3 实时操作系统(real time system)
- 4.4 通用操作系统(multi-purpose system)
- 4.5 单用户操作系统(single user system)
- 4.6 网络操作系统(network operating system)
- 4.7 分布式操作系统(distributed operating system)
- 4.8 多处理机操作系统(multi-processor system)
- 4.9 集群操作系统(cluster operating system)
- 4.9.1 集群操作系统与分布式操作系统的区别
- 4.10 云计算操作系统( cloud computing operating system )
- 4.11 嵌入式操作系统(embedded operating system)
- 4.12 多媒体操作系统(MultiMedia operating system )
- 4.13 智能卡操作系统(smart-card operating system)
- 5 操作系统的硬件环境
- 5.1 定时装置
- 5.2 堆与栈
- 5.2.1 一个堆
- 5.2.2 两个栈
- 5.3 寄存器
- 5.4 特权指令与非特权指令
- 5.5 处理机状态及状态转换
- 5.6 地址映射机构
- 5.7 存储保护设施
- 5.8 中断装置
- 5.9 通道与DMA控制器
- 6 操作系统的界面形式
- 6.1 交互终端命令
- 6.2 图形界面(GUI)
- 6.3 触屏用户界面
- 6.4 作业控制语言(JCL Job Control Language)
- 6.5 系统调用命令(API)
- 7. 操作系统的运行机理
- 8. 研究操作系统的几种观点
操作系统概述
- 写在前面
本笔记整理自《计算机操作系统教程》(第4版) 左万利 王英
特别鸣谢:集美大学计算机工程学院罗冬梅老师
1. 操作系统的概念
1.1 操作系统的地位
-
计算机系统是由硬件和软件两部分构成的。软件又分为系统软件和应用软件两类。
-
操作系统的地位:
操作系统是一个最基本也是最重要的系统软件。
-
从虚拟机的层次来看,操作系统是与计算机硬件关系最为密切的一个系统软件,是对硬件系统的第一次扩充。
1.2 操作系统的作用
- 管理系统中的各种资源。操作系统需要管理包括进程(CPU),存储器,文件和设备在内的各种资源。操作系统作为一个资源仲裁者,由它负责资源在各个程序之间的调度,保证操作系统中的各种资源得以有效利用。
- 为用户提供友好的界面。随着计算机走入家庭和办公自动化领域,计算机的使用者大多不是计算机专业人员,界面的友好性比资源利用效率更具实际意义。操作系统提供API和GUI。
1.3 操作系统的定义
定义1-1
- 操作系统是位于硬件层(HAL)之上,所有其它软件层之下的一个系统软件,
- 通过它管理系统中的各种软件和硬件资源,
- 使它们能被充分利用,方便用户使用计算机系统。
2. 操作系统的历史
2.1 操作系统的产生
2.1.1 手动操作阶段(20世纪40年代)
手动操作
- 将程序和数据通过手动操作记录在穿孔纸带上
- 将程序穿孔纸带放到光电输入机上,并通过控制台开关启动光电输入机,将程序输入内存
- 再通过控制台开关启动程序由第一条指令开始执行……
- 在电传打印机上输出运行结果
缺点:
- 用户在作业处理的整个过程中独享系统中的全部资源(系统的资源利用率极低)
- 手工操作所需的时间很长
2.1.2 批处理阶段(20世纪50年代)
(1)联机批处理:将若干个作业合成一批,并将其卡片依次放到读卡机上
监督程序
- 在处理机上有一个专门用来管理输入输出的监督程序。
缺点:
作业由读卡机到磁带机的传输需要由处理器完成。设备的传输速度远低于处理器的速度,在此传输的过程中处理器需要等待。
(2)脱机批处理:把输入输出操作交给卫星机去做
卫星机
缺点:
需要一个专门的卫星机,并且磁带装卸需要人工完成。
2.1.3 执行系统阶段(20世纪60年代初期)
1. 引入了通道
2. 出现通道中断主机功能
- 通道又称I/O处理器,它具有自己的指令系统和运算控制部件,与处理器共享内存资源。
通道的输入输出操作可以同处理器的计算工作完全并行执行,并在输入输出操作完成时向处理器发出中断请求。
作业由读卡机到磁带机的传输以及结果由磁带机到打印机的传输均由通道完成。(假脱机)
2.2 操作系统的完善
2.2.1 多道处理系统(20世纪60年代初期)
适合大型计算任务
- 引入了多道程序设计的概念。
- 当一道作业因为等待I/O传输完成而暂时不能运行时,系统就可以将处理器资源分配给另一个可以运行的程序。
2.2.2 分时系统(20世纪60年代初期和中期)
适合交互式任务
- 脱机方式不利于程序的动态调试,为了达到联机操作的目标,引入联机的分时系统
- 分时系统也是以多道程序设计为基础的。
2.2.3 实时处理系统(20世纪60年代中期)
集成电路
- 集成电路取代了分立元件,计算机性能大大提高。
2.2.4 通用操作系统(20世纪60年代后期)
- 多通道操作系统、分时系统和实时处理系统是传统操作系统的三大类别,它们为通用操作系统的最终形成做好了必要的准备。
- 通用操作系统可以运行成批作业、接收终端请求和同时处理实时任务。
2.3 操作系统的发展
- 硬件体系结构由集中向分散发展,出现了计算机网络
- 随着微处理器技术的迅猛发展,家庭和商用微型计算机得到了普及
- 在科学和军事领域,大型计算任务要求极强的计算和处理能力,多处理器并行成为必然选择
- 嵌入式和智能卡操作系统出现
- 多核技术应运而生
- …
3 操作系统的特性
讨论的出发点是:多个程序
3.1 程序并发性
- 所谓的程序并发,是指计算机系统中同时存在多个程序。
- 多个程序在宏观上同时向前推进
- 并发(concurrent) vs. 并行 (parallel)
3.1.1 并发与并行的区别
- 程序并行不仅要求在宏观上看多个程序都在向前推进,更要求微观上的同时,即要求在绝对的同一时刻有多个程序同时向前推进。(需要多个处理器 )
- 程序并发并不要求微观上的同时,只需从宏观上看多个程序都在向前推进。(虚处理器)
3.2 资源共享性
- 多个程序共用系统中的各种软硬件资源**
- 在操作系统的协调和控制下
3.3 异步性
中断实现交替
- 宏观上同时运行的程序是微观上是交替执行的,交替实现依靠中断,中断使用户程序切换到OS,嵌套中断使一段OS切换到另一段OS,而中断的发生是不确定的,因而OS的运行轨迹是异步,不可预知的。
3.4 虚拟性
- 利用某种技术把一个物理实体变为若干个逻辑实体。CPU,内存,外存。
4 操作系统的分类
4.1 多道批处理操作系统(batch processing system)
- 以脱机操作为标志的操作系统,适合处理运行时间比较长的程序。
第一次出现作业的概念
- 作业(Job):用户程序+数据+作业说明书(JCL Job Control Language编写)
- 输入井作用
- 缓冲(速度匹配作用,即处理数据到达与离开速度不一致)
- 实现作业调度(job scheduling)
- 输出井作用
- 缓冲(速度匹配作用,即处理数据到达与离开速度不一致))
- 特点:
多道:系统中同时容纳多个作业
成批:作业分批进入系统。作业之间的过渡由OS控制,无需用户干预。
4.2 分时操作系统(time-sharing system)
时间片
- 以联机操作为标志的OS,特别适合于程序的动态调试和修改。
- 以时间片来实现分时。
- 特点:
- 多路性:一个主机与多个终端相连;
- 交互性:以对话的方式为用户服务;
- 独占性:每个终端用户仿佛拥有一台虚拟机。
4.3 实时操作系统(real time system)
- 按其应用范围可以分为实时控制和实时信息处理两大类别。
- 实时控制
- 工业控制,军事控制,医疗控制,…….
- 工业控制,军事控制,医疗控制,…….
- 实时信息处理
- 航班定票,联机情报检索,…….
- 航班定票,联机情报检索,…….
- 特点:
- (1)响应及时(prompt response)
- (2)可靠性高(high reliability)
4.4 通用操作系统(multi-purpose system)
- 同时具有:分时、实时、批处理功能的OS。
- 目标:
- 进一步提高资源利用率,提高处理能力
- 为用户提供多模式的服务,扩展应用领域
- 常见模式:
- 分时(前台)+批处理(后台)
- 实时(前台)+批处理(后台)
- 前台任务优于后台任务。
4.5 单用户操作系统(single user system)
PC 个人计算机
- 同一时刻仅有一个用户使用的OS
- 更注重用户的友好性和操作的方便性。
- 特点:
- 单用户
- 多进程
- 多线程
- 虚拟存储管理方式
- 层次结构文件系统
4.6 网络操作系统(network operating system)
- 用于实现网络通信和网络资源管理的操作系统。
- 网络中主机以及相连的外围设备称为HOST,它们可以属于不同的类型。
- 各个HOST上配置的网络操作系统也可能界面形式不同。
- 各个结点具有自治性。
4.7 分布式操作系统(distributed operating system)
- 紧耦合型:建立在多机(多CPU)系统之上
- 松散耦合型:建立在计算机网络的基础之上
- 分布式操作系统特征:
- 统一的操作系统
- 资源的进一步共享:作业可迁移,实现负载均衡
- 可靠性 :不同Host处于等同的地位
- 透明性 :OS掩盖了不同Host在地理位置上的差异
4.8 多处理机操作系统(multi-processor system)
- 具有公共内存和公共时钟的多CPU系统,也成为**“紧耦合系统”。**
- 主要形式——对称多处理机系统(SMP)
- 系统中的多个CPU型号和地位相同,没有主从关系。
4.9 集群操作系统(cluster operating system)
- 建立在局域网络基础上,是指一种由多台计算机通过软件互相连接组成的并行或分布式系统,可以作为单独,统一的计算资源来使用。
- 关键技术分为:网络层,结点机及操作系统层,集群系统管理层和应用层
4.9.1 集群操作系统与分布式操作系统的区别
- 分布式指将不同的业务分布在不同的地方。
- 集群指将几台服务器集中在一起,实现同一业务。
- 分布式结构中的每一个结点都可以做集群,而集群不一定就是分布式的。
4.10 云计算操作系统( cloud computing operating system )
云意味着海量,极大的数量级
聚水(微小)成云(大量)
- 云的思想是把互联网中计算能力比较弱的各个结点统一管理起来,构成一个功能强大的计算机系统。
- 云计算操作系统又称云操作系统,云计算中心操作系统,是以云计算,云存储技术作为支撑的操作系统,是云计算后台数据中心的整体管理运营系统,它是指架构于服务器,存储,网络等基础硬件资源和单机操作系统,中间件,数据库等基础软件之上的,管理海量的基础硬件,软件资源的云平台综合管理系统。
4.11 嵌入式操作系统(embedded operating system)
提供轻量级的支持多道程序设计的环境
- 嵌入式系统大多用于控制,因而具有实时特性。
- 特点:
- 可裁剪性:适应差别巨大的硬件配置和应用需求
- 可移植性:不同硬件平台的移植
- 可扩展性:易于在原有的OS的基础上不大改的情况下拓展新的功能。
- 微内核一般性的基础功能:处理器调度,基本内存管理,通信机制,电源管理。
4.12 多媒体操作系统(MultiMedia operating system )
- 除具有一般OS的功能外,还具有多媒体底层扩充模块,支持高层多媒体信息的采集,编辑,播放和传输等处理功能的系统。
- 分类:
- 具有编辑和播放双重功能的开发系统
- 以具备交互播放功能为主的教育/培训系统
- 用于娱乐和学习的家用多媒体系统
4.13 智能卡操作系统(smart-card operating system)
最小的操作系统
- CPU的计算能力和存储容量都有严格的限制
5 操作系统的硬件环境
5.1 定时装置
- 绝对时钟:记载实际时间,不发中断。其值保存于硬件寄存器中,可由程序设定和修改。一般通过特权指令完成。
- 间隔时钟:“闹钟”,定时发生中断,一般间隔单位为“毫秒”。
- 间隔时钟是实现多道程序的基础——保证操作系统获得控制权。
- 其它事件引起的中断也进入操作系统,但是否发生,何时发生没有保障,只有时钟中断最可靠。
5.2 堆与栈
- 每个运行程序都有一个堆和两个栈(一个用户栈和一个系统栈)
5.2.1 一个堆
- 堆属于用户空间,用于保存程序中的动态变量。由操作系统分给运行程序,操作系统为用户分配基本大小为8KB的堆。
5.2.2 两个栈
- 用户栈属于用户空间。
- 保存用户函数调用时的返回点,参数,局部变量,返回值
- 传送用户程序调用操作系统时传给操作系统的参数(较长的参数,如文件名)。比较小的数据用寄存器传递
- 系统栈:内存中OS空间的一个固定区域
- 保存中断现场(包括PC(指令计数器)和PSW(程序状态字))
- 保存OS子程序间相互调用的返回点、参数、局部变量、返回值
5.3 寄存器
-
程序状态字:
-
指令计数器(PC):运行程序下一条指令的地址
-
栈指针SP:管态和目态各一个,分别保存系统栈和用户栈的栈顶位置
-
通用寄存器(regs):存数和计算
-
浮点寄存器(fregs):存数和计算
-
地址映射寄存器:基址和限长寄存器
5.4 特权指令与非特权指令
- 特权指令(privileged instruction)
只有在管态才能执行的指令 (不仅影响运行程序本身,也影响其他程序,甚至整个系统)
关中断,置程序状态字,停机, IO,…….
一般只有OS才能执行,一般用户程序不可执行 - 非特权指令(non-privileged instruction)所有程序可用(不影响其它程序和OS)
取数,四则运算,……
5.5 处理机状态及状态转换
处理机状态 | 描述 |
---|---|
系统态(管态,核态) | OS运行时所处的状态,可执行硬件提供的全部指令,包括特权指令和非特权指令 |
用户态(目态,常态) | 一般用户程序运行时所处的状态,只能执行非特权指令,非要执行特权指令,硬件将产生中断,进入OS,特权指令的执行将被制止 |
- 状态转换
- 管态 —(置程序状态字)—> 目态
- 目态 —(中断)—> 管态
5.6 地址映射机构
- 程序在内存的存放位置是随机确定的,而且可以改变。因此程序不能采用物理地址,而只能采用逻辑地址。
- 逻辑地址(虚地址):程序中产生的地址
- 物理地址(实地址):存储器地址
- 为了使每个程序的基本单位都能从0开始编址,硬件需要提供地址映射机构,负责将运行程序所产生的逻辑地址转换为内存物理地址。
5.7 存储保护设施
- 程序可能会产生错误地址使得:
- 侵犯操作系统空间
- 侵犯其它用戶空间
- 当发生存储越界错误或者非法存取错误时,硬件的存储保护设施能够立即发现,并触发中断进入管态加以制止。
5.8 中断装置
- 发现并响应中断的硬件机构。
功能如下:
- 发现中断:中断发生时能够识别。有多个中断同时发生时,按优先级别响应最高者。
- 响应中断:
- 将当前的中断向量(PSW,PC)压入系统栈,
- 然后根据中断原因将新的中断向量(PSW,PC)取出并送到寄存器中。
5.9 通道与DMA控制器
- 通道:负责I/O操作的处理器,具有自己的指令系统。
- DMA(direct memory access):直接存储器存取。类似于通道,但是没有专门的指令系统。受CPU委托完成数据在内存和块型设备之间的传输,一般一次只传输一个数据块。
6 操作系统的界面形式
6.1 交互终端命令
* 交互终端命令是**分时操作系统**所具有的界面形式。
- UNIX系统的交互式命令解释程序由shell(外壳)提供,而shell并不属于系统核心,而是运行于核心之外的目态程序,它通过系统调用与核心打交道,完成命令所要求的动作。
- 优点:
- 缩小核心 (shell运行在核心之外)
- 不同用户可以选择不同界面 (核心之外可以有多个shell,每个不同的shell连接一个不同的终端界面)
6.2 图形界面(GUI)
- 本质上也属于交互式界面形式,只不过界面由命令行转变为图形提示和鼠标操作。
6.3 触屏用户界面
- 常见于手机和平板电脑上,用户通过触摸和手的姿势产生中断,与操作系统进行交互。
6.4 作业控制语言(JCL Job Control Language)
- 这是批处理系统所具有的界面形式。
- 系统为用户提供一种作业控制语言。当用户欲提交批作业时,他使用这种语言书写作业说明书,该说明书以操作系统所能识别的形式描述一个用户作业的处理步骤,然后将此说明书与程序、数据一道提交给操作系统。
6.5 系统调用命令(API)
- 系统调用命令也称为应用程序接口(API),这是在用户程序级别上与操作系统打交道的方式。
- OS为用户提供一组系统调用命令,用户可以将这些系统调用命令写在程序中。
- 当用户程序运行过程中执行到这些系统调用命令时,将发生自愿性中断,进入操作系统。
7. 操作系统的运行机理
- 中断是程序切换的必要条件,即若发生了程序切换则必定发生了中断。CPU的使用权限无法由一个程序直接交付给另一个程序,中间必须由操作系统来介入,而使得操作系统介入的操作就是中断。
- 但是发生中断则不一定是因为发生了程序切换,还存在有其它可能引起中断的事件。
- 在中断例程完成后,既可能继续执行程序1,也可能决定执行程序2,这与操作系统的调度原则有关。
8. 研究操作系统的几种观点
观点类型 | 观点内容 |
---|---|
进程观点 | 进程观点将操作系统看成若干个可以独立运行的程序和一个对这些程序进行协调管理的核心组成,这些运行的程序称为进程,每个进程完成某一特定任务。 |
资源管理观点 | 资源管理观点认为操作系统是一个资源管理程序,所管理的资源包括硬件资源(处理器、内存设备)和软件资源 (文件、数据等),用户在使用这些资源前需要向操作系统提出申请,用完后将资源归还给操作系统。 |
虚拟机观点 | 虚拟机的观点认为操作系统是一个虚拟机,它是硬件上运行的第一层系统软件,它对硬件功能进行第一次扩充。 |
相关文章:
操作系统笔记-第一章
文章目录操作系统概述1. 操作系统的概念1.1 操作系统的地位1.2 操作系统的作用1.3 操作系统的定义2. 操作系统的历史2.1 操作系统的产生2.1.1 手动操作阶段(20世纪40年代)2.1.2 批处理阶段(20世纪50年代)2.1.3 执行系统阶段&#…...
daillist
daillist #重要说明: #[1]任意两个配置参数之间必须以空格隔开,否则,拨号脚本无法识别。 #[2]Info格式说明:厂商名简称_制式_频段 #VID #PID #PORT_M #PORT_A #PORT_G #script_*99# #script_#777 #Info 05c6 9025 /dev/ttyUSB1 /dev/ttyUSB2 …...
vue中render函数的作用和参数(vue2中render函数用法)
render 函数是 Vue2.x 新增的一个函数、主要用来提升节点的性能,它是基于 JavaScript 计算。使用 Render 函数将 Template 里面的节点解析成虚拟的 Dom 。Vue 推荐在绝大多数情况下使用模板来创建 HTML。然而在一些场景中,需要 JavaScript 的完全编程能力…...
基于Istio的高级流量管理二(Envoy流量劫持、Istio架构、高级流量管理)
文章目录一、Envoy流量劫持机制(Iptables规则流转)1、流量出向劫持流程(1)envoy怎样劫持入向流量?(2)Envoy劫持到流量之后,干什么?(查询目的地)&a…...
Sharding-Springboot-mybatis-plus整合(三)-inline策略
Sharding-Springboot-mybatis-plus整合(三) 1.简介 本节目标,使用SpringBoot整合Sharding和Mybatis-Plus验证上节分片策略 从配置文件上看策略包括( inline、standard、complex、hint) 环境搭建以inline策略演示 …...
编码的基本概念
本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:information-theory】,需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。 文章目录信源编码分类前缀…...
函数指针与指针函数的区别
目录:一、函数指针1 函数类型2 函数指针(指向函数的指针)3 函数指针数组二.函数指针和指针函数比较1 定义不同2 写法不同3.用法不同三.函数指针做函数参数(回调函数)1 利用回调函数实现打印任意类型数据2 提供能够打印任意类型数组函数3 利用回调函数 提供查找功能四…...
死锁的四个必要条件以及如何避免死锁
死锁的四个必要条件以及如何避免死锁 一.什么是死锁?二.死锁的四个必要条件 1.互斥条件:2.请求与保持条件:3.不剥夺条件:4.循环等待条件: 三.如何避免死锁 1.破坏请求保持条件2.破坏不剥夺条件3.破坏循环等待条件 死锁的四个必要条件以及如…...
浏览器多线程到事件循环机制
浏览器与js运行机制 进程与线程 进程 进程是CPU分配资源的最小单位,它是一个可以自己独立运行且拥有自己资源空间的任务程序;包括程序以及程序所使用的内存及系统资源 线程 线程是CPU调度的最小单位,它就是程序中的一个执行流࿱…...
Lambda表达式的本质
一直想写一篇文章,来总结lambda表达式,但是之前感觉总结的不是特别到位,现在看了几篇文章和视频后,感觉对lambda表达式有了比较深刻的认识,现在进行记录总结如下: lambda表达式又叫做匿名函数,…...
类的加载过程(生命周期)
类的加载过程(生命周期) 一、装载:通过一个类的全限定名获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.Class对象(将字节码加载到内存中),作为…...
2023最新谷粒商城笔记之MQ消息队列篇(全文总共13万字,超详细)
MQ消息队列 其实队列JDK中本身就有,不过这种队列也只能单体服务可能会使用,一旦项目使用的分布式架构,那么一定还是需要用到一个消息中间件的。我们引入消息队列的原因就是对我们的页面相应速度再优化,让用户的体验更好ÿ…...
多变量线性回归模型
多变量线性回归模型 模型参数为n1维向量,此时模型公式为 hθ(x)θ0x0θ1x1θ2x2...θnxnh_{\theta}(x)\theta_{0}x_{0}\theta_{1}x_{1}\theta_{2}x_{2}...\theta_{n}x_{n} hθ(x)θ0x0θ1x1θ2x2...θnxn 可以简化为 hθ(x)θTXh_{\theta}(x)\th…...
php 基于ICMP协议实现一个ping命令
php 基于ICMP协议实现一个ping命令 网络协议是什么ICMP 协议什么是ICMP?ICMP 的主要功能ICMP 在 IPv4 和 IPv6 的封装Wireshark抓包ICMP 请求包分析PHP构建 ICMP 数据包php中的 pack & unpack 函数字节和字符packunpackICMP计算校验和步骤总结网络协议是什么 网络协议&…...
Java基本数据类型
1.概述 佛说,大千世界,无奇不有。在这个世界里,物种的多样性,遍地开花,同样,在Java的世界里,也有着异曲同工之妙,Java秉承面向对象的特性,必然少不了区分对象的类型&…...
English Learning - L2 语音作业打卡 Day2 2023.2.22 周三
English Learning - L2 语音作业打卡 Day2 2023.2.22 周三💌 发音小贴士:💌 当日目标音发音规则/技巧:🍭 Part 1【热身练习】🍭 Part2【练习内容】🍭【练习感受】🍓元音[ ɑː ]&…...
45. 跳跃游戏 II
题目: 45. 跳跃游戏 II难度中等1974收藏分享切换为英文接收动态反馈给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 num…...
应届生Java面试50题线程篇(含解析)
什么是线程? 答:线程是操作系统能够进行运算调度的最小单位,是程序执行流的最小单元。在Java中,可以通过实现Runnable接口或继承Thread类来创建线程。 创建线程的方式有哪些?各自的优缺点是什么? 继承 Thread 类&…...
【数据库】第七章 数据库设计
第七章数据库设计 数据库设计概述 数据库设计的基本步骤 需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行和维护 需求分析 收集需求,理解需求 收集各个角色的需求 概念数据库设计 建立概念模型 ,E-R图/IDEF1x图 消除冲突&…...
Burp Suite 常用模块简介
Burp Suite 常用模块分为 目标站点(target)模块 代理(proxy)模块 攻击(Intruder)模块 重放(Repeater) 模块 Target模块是对站点资源的收集,与站点各资源包发出和相应包的记录 Proxy模块是核心模块,可以拦截数据包发送往浏览器,进行修改后再…...
QML Item和Rectangle详解
1.Item和Rectangle Item类型是Qt Quick中所有可视项的基本类型。 Qt Quick中的所有可视项都继承Item。尽管Item对象没有视觉外观,但它定义了视觉项中常见的所有属性,例如x和y位置、宽度和高度、锚定和键处理支持。 Rectangle继承自Item,多…...
常见前端基础面试题(HTML,CSS,JS)(六)
GET 和 POST 的区别 从 http 协议的角度来说,GET 和 POST 它们都只是请求行中的第一个单词,除了语义不同,其实没有本质的区别。 之所以在实际开发中会产生各种区别,主要是因为浏览器的默认行为造成的。 受浏览器的影响…...
深度学习 李沐报错
3.6. softmax回归的从零开始实现 — 动手学深度学习 2.0.0 documentation softmax从0开始实现 函数执行需要加main指定 改成这样 if __name__"__main__":print(evaluate_accuracy(net, test_iter)) 不然会这样出错 RuntimeError: An attempt has been m…...
【JAVA程序设计】(C00104)基于Springboot的家庭理财管理系统——有文档
基于Springboot的家庭理财管理系统项目简介项目获取开发环境项目技术运行截图运行视频项目简介 基于Springboot开发的家庭理财管理系统设计与实现共分为三个角色:系统管理员、家庭管理员、家庭用户 管理员角色包含以下功能: 用户管理、修改密码、角色管…...
【第五章 AOP概述,底层原理,AOP术语,切入点表达式,AOP操作(基于注解方式,基于xml配置文件)】
第五章 AOP概述,底层原理,AOP术语,切入点表达式,AOP操作(基于注解方式,基于xml配置文件) 1.AOP概述: (1)什么是AOP: ①面向切面编程(…...
面试官: 你知道 JWT、JWE、JWS 、JWK嘛?
想起了 之前做过的 很多 登录授权 的项目 它相比原先的session、cookie来说,更快更安全,跨域也不再是问题,更关键的是更加优雅 ,所以今天总结了一篇文章来介绍他 JWT 指JSON Web Token,如果在项目中通过 jjwt 来支持 J…...
基于企业微信应用消息的每日早安推送
基于企业微信应用消息的每日早安推送 第一步:注册企业微信 企业微信注册地址:https://work.weixin.qq.com/wework_admin/register_wx 按照正常流程填写信息即可,个人也可以注册企业微信,不需要公司 注册完成后,登录…...
【数字IC基础】黑盒验证、白盒验证、 灰盒验证
文章目录 一、黑盒验证二、白盒验证三、灰盒验证一、黑盒验证 1、黑盒验证:大多数基于仿真的验证环境都是黑盒验证;2、不需要知道设计的内部结构和特性,只需要在输入端口打激励,观察输出即可;3、验证工程师学习设计的规格,然后编写验证环境中的 drivers, monitors, check…...
管理的本质是达成目标
“没有目标,其实就没有管理学存在的意义。要有效地使用管理学的智慧,首先要建立清晰的目标。” - 《宁向东的管理学课》 起源 最近开始刷很久之前就在得到上买了的已经起灰了的课程,看到这句话觉得很有道理。 思考 这里面有一个很重要的词…...
【数字IC基础】IC(Integrated Circuit,集成电路)常用缩写
文章目录 1、集成电路:2、数字IC设计相关步骤:3、数字设计相关概念:4、验证相关:5、语言类:6、IC设计相关工具:7、存储器相关:8、总线协议类:9、文件格式类:10、标准和规范:11、其它:1、集成电路: 缩写全称中文翻译LSILarge-scale intergrated circuit大规模集成电…...
装修案例/搜索引擎优化的英文
开启redis-server提示 # Creating Server TCP listening socket *:6379: bind: Address already in use--解决方法参考文章: (1)开启redis-server提示 # Creating Server TCP listening socket *:6379: bind: Address already in use--解决方…...
阿旗建设局举报网站/学电脑培训班
今天在做搜索框的时候、遇到需要获取焦点之后做一些事情、实现方法也很简单、那就是绑定OnFocusChangeListener事件、实现 onFocusChange(View v, boolean hasFocus) 方法、第二个参数就是判断得到焦点或失去焦点、从而实现我得想要的效果、代码如下: EditText sear…...
石家庄专业网站设计电话/百度电话号码查询平台
box-shadow 以逗号分割列表来描述一个或多个阴影效果,可以用到几乎任何元素上。 如果元素同时设置了 border-radius ,阴影也会有圆角效果。多个阴影时和多个 text shadows 规则相同(第一个阴影在最上面)。默认值: none 不可继承值: inset 默…...
织梦dedecms网站更换域名后文章图片路径批量修改/软件制作
利用springmvc接收前台ajax传过来的数据完成注册功能。为了方便把,前台js的model和后台的user写成一致的功能。代码如下前端:var User function() {var id null;var name null;var password null;var sex null;var telephone null;var role null;…...
清风算法受影响的网站/在线bt种子
今天在部署项目时,遇到项目组其它人重整了server上的iis。结果外部訪问不了所部属的项目,通过一些渠道找到了设置方法 例如以下报错的截图: 原因是“入站ICMP规则”被重整了,所以我们须要又一次新建入站ICMP规则 (详…...
wordpress做网站容易吗/青岛网站建设策划
数据库相关中间件介绍 详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt412 这里主要介绍互联网行业内有关数据库的相关中间件。数据库相关平台主要解决以下三个方面的问题: 为海量前台数据提供高性能、大容量、高可用性的访问 为数据…...