线性空间

《操作系统真象还原》分页

北城余情 提交于 2020-01-06 21:46:06
  本节是阅读第五章的收获。下面将阐述一些分页的相关内容。 分页 什么是分页   分页,顾名思义,就是将内存分成大小相同的页。分页,通过映射的方式,将连续的线性地址转化为不连续的物理地址;这样,在处理器进入分页模式之后,用户直接访问的并不是物理地址,而是分页模式下的虚拟地址。   上面有三个和地址相关的概念,分别为虚拟地址、线性地址和物理地址。   在打开保护模式之前,仅有线性地址和物理地址的概念,物理地址就是CPU最终访问的真正地址,是指令或数据真正保存的数据的地方。而线性地址代表“段基址+段内偏移地址”,由于在实模式下,段基址+段内偏移地址等于物理地址,所以线性地址和物理地址数值上是一样的。   而打开保护模式且打开分页模式之后,用户直接访问的是虚拟地址空间或是线性地址空间,线性地址仍然是段基址+段内偏移地址,虚拟地址数值上与线性地址相同。从概念上线性地址空间和虚拟地址空间有些不同,因为线性地址空间只有段的概念,没有页的概念;通过分页机制,将线性地址空间中大小不等的段转化为虚拟空间中大小相等的页。虚拟地址通过页表和页目录转化为最终的物理地址,分页机制如下图:   总的来说,虚拟地址就是分页后程序或任务访问的地址,线性地址就是段基址+段内偏移地址,物理地址是CPU最终访问的地址。 为什么要分页   那么为什么要分页呢?主要原因是 内存分配的时候存在外部碎片

HIT2019计算机系统大作业

北城以北 提交于 2020-01-05 18:44:27
目 录 第1章 概述............................................................................................................. - 4 - 1.1 Hello简介...................................................................................................... - 4 - 1.2 环境与工具..................................................................................................... - 4 - 1.3 中间结果......................................................................................................... - 4 - 1.4 本章小结......................................................................................................... - 4

支持向量机(SVM)

浪尽此生 提交于 2019-12-27 13:34:11
支持向量机 SVM(Support Vector Machine) 作为一种可训练的机器学习方法 , 依靠小样本学习后的模型参数进行导航星提取 , 可以得到分布均匀且恒星数量大为减少的导航星表   基本情况  Vapnik 等人在多年研究统计学习理论基础上对线性 分类器 提出了另一种设计最佳准则。其原理也从线性可分说起,然后扩展到线性不可分的情况。甚至扩展到使用非线性函数中去,这种分类器被称为支持向量机 (Support Vector Machine, 简称 SVM) 。支持向量机的提出有很深的理论背景。 支持向量机方法是在近年来提出的一种新方法。    SVM 的主要思想可以概括为两点: (1) 它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为 高维 特征空间使其线性可分,从而 使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能; (2) 它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化 , 并且在整个样本空间的期望风险以某个概率满足一定 上界 。 在学习这种方法时,首先要弄清楚这种方法考虑问题的特点,这就要从线性可分的最简单情况讨论起,在没有弄懂其原理之前,不要急于学习线性不可分等较复杂的情况,支持向量机在设计时,需要用到条件极值问题的求解,因此需用 拉格朗日

操作系统 - 分段机制 & 分页机制

北城余情 提交于 2019-12-27 12:08:44
文章目录 分段机制 简介 段的定义 段描述符表 段选择符 段描述符 代码和数据段描述符类型 系统描述符类型 分页机制 简介 页表结构 页表项格式 区别 分段机制 简介 80X86 使用了一种称为 段 (Segment)的寻址技术。这种寻址技术把内存空间分成一个或多个称为段的线性区域,从而对内存中一个数据对象的寻址就需要使用一个段的起始地址(即段地址)和一个段内偏移地址两部分构成。 段地址部分使用 16 位的 段选择符 指定,其中 14 位可以选择 2 14 2^{14} 2 1 4 次方即 64K 个段。 段内偏移地址部分使用 32 位的值来指定,因此段内地址可以是 0 到 4G。即一个段的最大长度可达 4G。 程序中由 16 位的段和 32 位的偏移构成的 48 位地址称为一个 逻辑地址 (虚拟地址)。 分段提供了一种机制,用于把处理器可寻址的 线性地址空间 划分成一些较小的称为段的受保护地址空间区域。 段可以用来存放程序的代码、数据和堆栈,或者用来存放系统数据结构(例如 TSS或 LDT)。 如果处理器中有多个程序在运行,那么每个程序可分配各自的一套段。此时处理器就可以加强这些段之间的界限,并且确保一个程序不会通过访问另一个程序的段而干扰程序的执行。 段的定义 每个段由三个参数定义: 段基地址(Base address):指定段在线性地址空间中的开始地址。基地址是 线性地址

09-线性相关性、基、维数

て烟熏妆下的殇ゞ 提交于 2019-12-05 16:21:05
一、线性相关性   给定一些向量,那么如何判断他们是否是线性相关?(也就是存在非全0系数,使得系数与向量相乘加和结果为0向量)   如果我们可以找到一些系数,使得这些系数乘以相应的向量,然后加和结果可以得到零向量,则这些向量就是线性相关的, 但这些系数不能全是0  对于矩阵中的列向量而言:    对于矩阵$A$中的列向量$v_1,v_2,v_3,...,v_n$,如果它们是无关的,$A$的零空间中只有零向量,此时$A$的秩=n,不存在自由变量   反之,对于$AC = 0$,零空间中存在非零向量c,$A$的秩<n,存在自由变量 二、向量组生成一个空间   其实之前矩阵的列空间已经讲过,矩阵的各个列向量的线性组合组成列空间,所以我们可以说 矩阵的(各列)列向量生成列空间   对于向量$v_1, v_2, ... , v_l$生成一个空间指:这个空间包含$v_1, v_2, ... ,v_l$的 所有线性组合 来源: https://www.cnblogs.com/always-fight/p/11457570.html

常见算法的时间空间复杂度【整理摘编】

。_饼干妹妹 提交于 2019-12-04 00:59:20
1.( 来源 ) (1)O(1):常量阶,运行时间为常量 (2)O(logn):对数阶,如 二分搜索算法,快速幂 (3)O(n):线性阶,如 n个数内找最大值 (4)O(nlogn):对数阶,如 快速排序算法,线段树 (5)O(n^2):平方阶,如 选择排序,冒泡排序 (6)O(n^3):立方阶,如 两个n阶矩阵的乘法运算 (7)O(2^n):指数阶,如 n个元素集合的所有子集的算法 (8)O(n!):阶乘阶,如 n个元素全部排列的算法 2.( 来源) 来源: https://www.cnblogs.com/phemiku/p/11826243.html

数据挖掘(机器学习)面试--SVM面试常考问题

匿名 (未验证) 提交于 2019-12-03 00:22:01
转自 https://blog.csdn.net/szlcw1/article/details/52259668 应聘数据挖掘工程师或机器学习工程师,面试官经常会考量面试者对SVM的理解。 以下是我自己在准备面试过程中,基于个人理解,总结的一些SVM面试常考问题(想到会再更新),如有错漏,请批评指正。(大神请忽视) 转载请注明出处:blog.csdn.net/szlcw1 SVM的原理是什么? SVM是一种二类分类模型。它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。(间隔最大是它有别于感知机) (1)当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机; (2)当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机; (3)当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。 注:以上各SVM的数学推导应该熟悉: 硬间隔最大化(几何间隔)---学习的对偶问题---软间隔最大化(引入松弛变量) --- 非线性支持向量机(核技巧)。 SVM为什么采用间隔最大化? 当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。 感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。 线性可分支持向量机 利用间隔最大化求得最优分离超平面 ,这时,解是唯一的

[转] 理解矩阵

孤人 提交于 2019-12-03 00:08:41
from: https://www.cnblogs.com/marsggbo/p/10144060.html 线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者”的古怪概念,然后用逆序数给出行列式的一个极不直观的定义,接着是一些简直犯傻的行列式性质和习题——把这行乘一个系数加到另一行上,再把那一列减过来,折腾得那叫一个热闹,可就是压根看不出这个东西有嘛用。大多数像我一样资质平庸的学生到这里就有点犯晕:连这是个什么东西都模模糊糊的,就开始钻火圈表演了,这未免太“无厘头”了吧!于是开始有人逃课,更多的人开始抄作业。这下就中招了,因为其后的发展可以用一句峰回路转来形容,紧跟着这个无厘头的行列式的,是一个同样无厘头但是伟大的无以复加的家伙的出场——矩阵来了!多年之后,我才明白,当老师犯傻似地用中括号把一堆傻了吧叽的数括起来,并且不紧不慢地说:“这个东西叫做矩阵”的时候,我的数学生涯掀开了何等悲壮辛酸、惨绝人寰的一幕!自那以后,在几乎所有跟“学问”二字稍微沾点边的东西里,矩阵这个家伙从不缺席。对于我这个没能一次搞定线性代数的笨蛋来说,矩阵老大的不请自来每每搞得我灰头土脸,头破血流。长期以来,我在阅读中一见矩阵,就如同阿Q见到了假洋鬼子

数据结构学习(二)——线性表(一)

别说谁变了你拦得住时间么 提交于 2019-12-01 16:53:20
线性表的定义   由 n (n≥0) 个数据元素 (a 1, a 2 , ... , a n ) 构成的有限序列。记作:L = (a 1, a 2 , ..., a n ) 。a 1 ——首元素,a n ——尾元素。   表的长度(表长)——线性表中数据元素的数目。   空表——不含数据元素的线性表(表长为0)。 线性表的特征   对于L = (a 1, a 2 , ...,a i-1 , a i ,a i+1 , ... , a n ) a i-1 在 a i 之前,称a i-1 是 a i 的直接前驱(1<i≤n); a i+1 在 a i 之后,称a i+1 是 a i 的直接后继(1≤i<n); a 1 没有前驱; a n 没有后继; a i (1<i<n)有且仅有一个直接前驱和一个直接后继。 抽象数据类型线性表的定义   ADT List   {  数据对象:D = { a i | a i ∈ElemSet,i = 1, 2, ..., n, n>=0 }      数据关系:R1 = { <a i-1 , a i > | a i-1 , a i ∈D, i = 1, 2, ..., n }      基本操作: InitList (&L)   //构造空表L ListLength (L)  //求表的长度 GetElem (L, i, &e)  //取元素 a i ,由

算法 在连续线性空间里查找

时间秒杀一切 提交于 2019-12-01 08:55:25
算法 在连续线性空间里查找 查找可以分成:有序和无序查找 无序查找 顺序比较 缺点:效率低下 //e为查找的对象,lo和hi是要查找的区间 template <typename T> Rank Vector<T>::find(T const & e, Rank lo, Rank hi){ while(hi != lo && _elem[hi-1] != e){ hi--; } return hi - 1; } 有序查找 原理:找个某个点,根据这个点切分成2个区间。 1,二分查找(binary search) 这个点是:中间点 优点:简单,最坏情况的效率也不低 缺点:如果要查找的值在中间点的右侧就比在左侧多一次比较 //二分查找算法:在有序向量的区间[lo, hi)内查找元素e,0 <= lo <= hi <= _size template<typename T> Rank Vector<T>::search ( T const& e, Rank lo, Rank hi ) const { while ( lo < hi ) { //每步迭代仅需做一次比较判断,有两个分支 Rank mi = ( lo + hi ) >> 1; //以中点为轴点(区间宽度的折半,等效于宽度之数值表示的右移) ( e < _elem[mi] ) ? hi = mi : lo = mi + 1; /