[OS] 操作系统课程(三)】的更多相关文章

工具 源码阅读:understand 源码文档自动生成工具:Doxygen 编译环境:gcc 运行环境:x86机器或QEMU 调试工具:QEMU+(GDB or IDE) IDE:Eclipse-CDT 设计思路 外设:IO管理/中断管理 内存:虚存管理/页表/缺页处理/页替换算法 CPU:进程管理/调度器算法 并发:信号量实现同步互斥应用 存储:基于链表/FAT的文件系统 实验内容(对应源码行数) 1 OS启动.中断与设备管理:0200~1800 2 物理内存管理:1800~2500 3 虚拟…
系统启动 启动过程 CPU加电稳定后从0XFFFF0读取第一条指令 BIOS 固化到计算机主板上的程序 包括系统设置.自检程序和系统自启动程序 系统加电后读BIOS 加电自检POST,内存.显卡等关键部件是否在工作 更新CMOS中的扩展系统配置数据ESCD 按指定启动顺序从软盘.硬盘或光驱启动 主引导记录BIOS-MBR 全局唯一标识分区表BIOS-GPT(多分区启动) 将加载程序从从磁盘的引导扇区加载到内存 UEFI 在所有平台上一致的操作系统启动服务 加载程序 依据配置加载操作系统内核 将操…
. 异数OS 星星之火(三)–异数OS-织梦师云 微服务编写入门 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455784 异数OS-织梦师(消息中间件 ,游戏开发方向)群: 476260389 异数OS-织梦师-Xnign(Nginx方向)群: 859548384 异数OS 星星之火(三)–异数OS-织梦师云 微服务编写入门 本文来自异数OS社区 什么是异数OS微服务 异数OS微服务怎么写 微服务的组…
 solr与.net系列课程(三)solr连接数据库 上一章直接讲述的配置文件把大部分人看的很迷惑,大家都想听的是solr到底是怎么用的,好,这一节我们就开始链接数据库,首先讲一下连接之前都要配置哪些文件 1.先下载连接sqlserver的驱动(sqljdbc4.jar)sqljdbc4.jar,),将其复制到C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\solr\WEB-INF\lib (C:\Program Fi…
lab1知识点汇总 还是有很多问题,但是我觉得我需要在查看更多资料后回来再理解,学这个也学了一周了,看了大量的资料...还是它们自己的80386手册和lab的指导手册觉得最准确,现在我就把这部分知识做一个汇总,也为之后的lab打下坚实的基础.80386真的难啊,比mips复杂多了..顿时觉得我们学的都是小菜.. 下面这些知识来源于: 实验指导书和答案 80386手册 mooc视频 8086程序设计指导这本书 网上的博客 lab1练习汇总 练习之所以被老师当做练习,一定有它重要的地方,所以我们先把…
https://download.csdn.net/download/fire_to_cheat_/10221003 上面是课程设计的代码,下载需要一些积分. 1.作业调度 2.磁盘调度 常见的磁盘调度算法大致分为以下5类: FCFS.SSTF.SCAN.CSCAN.FSCAN 程序实现了上述5类调度算法. 其中,当前磁道和要求服务的磁道均由系统随机产生. 程序入口是main主函数,在程序一开始由request()函数产生随机的要求服务的磁盘序列.然后由用户选择算法FCFS.SSTF.SCAN.…
1. ucore lab3介绍 虚拟内存介绍 在目前的硬件体系结构中,程序要想在计算机中运行,必须先加载至物理主存中.在支持多道程序运行的系统上,我们想要让包括操作系统内核在内的各种程序能并发的执行,而物理主存的总量通常是极为有限的,这限制了并发程序的发展.受制于成本问题,拥有足够大容量主存的个人计算机是普通人承受不起的.因此计算机科学家们另辟蹊径,想到了利用局部性原理来解决既要能并发运行大量程序又要使计算机足够低成本这一矛盾问题. 局部性原理告诉我们,大多数程序通常都在执行循环逻辑,访问数据时…
qq:992591601 欢迎交流 2016.04.03 2016.05.31 2016.06.29 这一章是有些复杂的,我不太懂作者为什么要把这么多内容都放进一天. 1读入了十个柱面 2从启动区执行操作系统 3进入32位 4导入C语言 makefile的内容: TOOLPATH = ../z_tools/ INCPATH = ../z_tools/haribote/ MAKE = $(TOOLPATH)make.exe -r NASK = $(TOOLPATH)nask.exe NASM =…
完成本课程的学习后,您应该能够: •普通堆表优点和缺点 •理解rowid •全局临时表优点.缺点和适用场景 •分区表的类型和原理.优点和缺点.适用场景 •表字段的高效设计 •sequence的设计   1.数据存储方式 在关系数据库中有很多种数据存储方式,有些DBMS全部支持,有些则只支持其中的一部分.数据库的存储方式至关重要,它对数据的修改和查询都有直接的影响. 存储方式可分为两种:随机存储方式和固定存储方式.前者存储效率必然要高于后者.但如我们的人生一样,得到多少就意味着要失去多少. 随机存…
今天是2014年7月1日,过几天就要到深圳实训去了,实训核心内容是Android开发.尽管Android现在很火,但作为程序猿的我们必须时刻保持清醒的头脑.我虽不是什么预言家,但近期接触的Android项目,却让我真实的感受到Android操作系统正在走向灭亡的道路...来看看是什么操作系统可能会灭亡Android吧:Firefox OS,专案名称为Boot to Gecko.是由谋智公司(Mozilla Corporation)主导研发的开放源码移动操作系统,採用Linux核心,应用于智能手机…
1.文字排版--字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性.下面我们来看一个例子,下面代码实现:为网页中的文字设置字体为宋体. body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果用户本地电脑上如果没有安装你设置的字体,就会显示浏览器默认的字体.(因为用户是否可以看到你设置的字体样式取决于用户本地电脑上是否安装你设置的字体.)现在一般网页喜欢设置“微软雅黑”,如下代码: body{font-family:"Mic…
1. (判断) 答案:错 缓冲区有两块:高速缓存区(物理存在)和磁盘缓存区(逻辑存在,实际是内存一块),都不在外存(硬盘). 2. 操作系统的功能:处理机管理(进程管理).作业管理.存储管理.设备管理.文件管理. 对程序的编译是编译应用程序来完成的. 3. 答案:A 采用索引这种结构,逻辑上连续的文件可以存放在若干不连续的物理块中,但对于每个文件,在存储介质中除存储文件本身外,还要求系统另外建立一张索引表. 索引结构既适用于顺序存取,也适用于随机存取,并且访问速度快,文件长度可以动态变化. 索引…
转自:http://jennica.space/2017/03/21/os-principle/ 大纲如下: 1.操作系统概述2.操作系统运行环境3.进程线程模型4.处理器调度5.同步机制6.存储模型7.文件系统8.I/O系统9.死锁 ·操作系统概述 1.执行程序:通过调度选中程序开始执行,在执行过程中,不断陷入操作系统提供各种服务支持,再调度选中程序,直到完成2.功能:有效(充分利用CPU.内存.磁盘等资源).合理(公平的资源管理策略).易用(用户界面和编程接口)3.作用:管理资源(硬件.软件…
http://oulehui.blog.163.com/blog/static/79614698201191832753312/ 先回顾一下我们都学习了些什么: 第一课,编写第一个OpenGL程序第二课,绘制几何图形第三课,绘制几何图形的一些细节问题 ——→ 本次课程的内容 在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处.例如:点太小,难以看清楚:直线也太细,不舒服:或者想画虚线,但不知道方法只能用许多短直线,甚至用点组合而成.这些问题将在本课中被解…
哲学家问题是操作系统中资源分配的经典问题 linux平台下的系统api不同于Windows下的实现 要求:一个正确的哲学家程序(不会发生死锁) 一个错误的哲学家程序(会发生死锁) 系统环境:ElementaryOS wrong.c #include<stdio.h> #include<stdlib.h> #include<sys/ipc.h> #include<sys/msg.h> #include<sys/types.h> #include&l…
现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题. (1)用文本编辑器打开/etc/profile (2)在profile文件末尾加入: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAVA_HOME/bin:…
基本概念与实现 1)局部性原理 在一段时间内,运行的作业程序仅访问(涉及到)一部分作业代码,即不会涉及整个地址空间.即在一段时间间隔内,仅装入一部分代码,作业照样能正常运行 2)虚拟存储器的引入 作业(进程)运行时,仅装入其代码的一部分到物理内存,待需要时再装入其余部分,同时还可将不再运行的部分调出物理内存.变相地扩充了内存容量,即实现了虚拟存储器. 虚拟内存 ①虚拟内存将内存抽象成一个巨大的.统一的存储数组,进而将用户看到的逻辑内存与物理内存分开 ②只要部分程序需要放在内存中就能使程序执行 ③…
来源:赛迪网 作者:millio       现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题. (1)用文本编辑器打开/etc/profile (2)在profile文件末尾加入: JAVA_HOME=/usr/share/jdk1.5.0_…
RTGUI 据说RTGUI是多线程的,因此与RT-Thread OS的耦合度较高,有可能要访问RT-Thread的线程控制块.如果要移植到其它OS,估计难度较大.目前还处于Alpha状态,最终将会包含进RT-Thread中,成为其中的标准组件. 1.  RTGUI下载 当前,要获取包含RTGUI的源码,需要到SVN库里去拉. 因此,需要先安装SVN客户端.比较简单的就是命令行,当然你也可以其它选择. 这里使用Apache Subversion command line tools,下载地址:ht…
1.和其他一些著名的嵌入式操作系统不同,uC/OS-II在单片机系统中的启动过程比较简单,不像有些操作系统那样,需要把内核编译成一个映像文件写入ROM中,上电复位后,再从ROM中把文件加载到RAM中去,然后再运行应用程序.uC/OS-II的内核是和应用程序放在一起编译成一个文件的,使用者只需要把这个文件转换成HEX格式,写入ROM中就可以了,上电后,会像普通的单片机程序一样运行. 2.uC/OS-II的移植也是一件需要值得注意的工作.如果没有现成的移植实例的话,就必须自己来编写移植代码.虽然只需…
实验1 [实验名称]:并发程序设计(实验1) [实验目的]:掌握在程序中创建新进程的方法, 观察并理解多道程序并发运行的现象. [实验原理]:fork():建立子进程.子进程得到父进程地址空间的一个复制. 返回值:成功时,该函数被调用一次,但返回两次,fork()对子进程返回0,对父进程返回子进程标识符(非0值).不成功时对父进程返回-1,没有子进程. [实验内容]:首先分析一下程序执行时其输出结果有哪几种可能性,然后实际调试该程序观察事实上际输出情况,比較两者的差异,分析当中的原因. void…
[]To help you practice strategies for machine learning, the following exercise will present an in-depth scenario and ask how you would act. Consider airplane pilots who’s training involves time spent in flight simulators. These flight simulators acce…
1. 安装VMware 我这里是安装VMWARE12.exe,其他的版本我不知道是否可以正常运行,最好大家安装12版本的比较好. 2. 安装 Mac OS X Unlocker for VMware 刚安装的VMware 没有创建 Mac 虚拟机的选项,安装这个插件之后就有了,我这边是用的unlocker208插件就行安装的. 安装步骤 安装之前记得关掉VM,同时把相关服务也停掉.以管理员身份运行unlocker 208中解压出来的unlocker208\win-install.cmd进行安装.…
·批处理系统:(用户脱机使用.成批处理.多道程序运行) 批处理系统,又名批处理操作系统.批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行.这种采用批量处理作业技术的操作系统称为批处理操作系统.批处理操作系统分为单道批处理系统和多道批处理系统.批处理操作系统不具有交互性,它是为了提高CPU的利用率而提出的一种操作系统. 单道批处理系统(单道.自动型.顺序性):系统对作业的处理是成批进行的,但内存中始终保持一道作业. 多道批处理系统(多道.宏观上并行.微观上串行):允许…
题目转自:http://blog.csdn.net/morewindows/article/details/7392749 ·线程的基本概念.线程的基本状态及状态之间的关系? 线程,有时称为轻量级进程,是CPU使用的基本单元:它由线程ID.程序计数器.寄存器集合和堆栈组成.它与属于同一进程的其他线程共享其代码段.数据段和其他操作系统资源(如打开文件和信号). 线程有五种状态:新建状态.可运行状态.运行状态.阻塞状态.死亡状态.状态之间的转换如下图所示: 1.新建(new):新创建了一个线程对象.…
首先我们要下载  Centos https://www.centos.org/ 这个是Centos官方 最新版本 7 https://www.centos.org/download/ 提供有 DVD安装版本  完整版 以及Min版: 我们为了方便在虚拟机中安装 我们要下载DVD版本,由于是国外线路 比较慢,我们一般是建议下载国内镜像. 有很多科研机构 院校 大型互联网IT公司都提供有镜像下载,我个人推荐 阿里云镜像 https://mirrors.aliyun.com/centos/7/isos…
最近别人推荐,看看了哈工大的李治军老师主讲的操作系统,李治军老师通过linux0.11内核源码的讲解,学习了很多,更加形象了解了理论知识. 分享给大家,有pdf 链接:https://pan.baidu.com/s/1ewcyG9Lbp6_ugBMDf06APA 密码:2wzj…
1 制作真正的IPL IPL(Initial Program Loader),启动程序装载器,但是之前并没有实质性的装载任何程序,这次作者要开始装载程序了. 虽然现在开发的操作系统啥功能也没有,作者说轻轻松松做. 起始我觉得吧,有了启动程序加载器之后,相当于给了我们一个给CPU传送指令的入口,我们想让CPU干啥,就给它传指令和数据就可以啦.操作系统嘛,就是一个启动程序装载器调用的一个很大的.很复杂的函数而已,突然感觉自己有些升华了( ^_^ ). CPU就是一个干活很快的家伙,但是智商基本为0,…
今日内容 嵌套 特殊方法:__init__ type/isinstance/issubclass/super 异常处理 内容回顾 def login(): pass login() class Account: def login(self): pass obj = Acount() obj.login() 谈谈你了解的面向对象? 类和对象是什么关系?对象是类的一个实例. class Foo: def __init__(self,name): self.name = name def run(s…
以下命令均已在 Kali Linux 验证. 1.添加用户 --1-- useradd -m username            //username 代表你所添加的用户名 --2-- passwd username --3-- usermod -a -G sudo username   //-a 代表添加 -G 代表指定一个群组 --4-- chsh -s /bin/bash username          //把用户的默认外壳改为bash 注: 查看用户  id username 示…