首页 > 其他分享 >操作系统的启动

操作系统的启动

时间:2023-09-18 20:24:02浏览次数:35  
标签:调用 操作系统 启动 中断 应用程序 内存 异常

看了清华大学的操作系统的启动,来总结一下。

(1)CPU, I/O, 内存通过总线连接。
(2)DISK:存放OS;
BIOS:基本I/O处理系统( basic I/O system); Bootloader: 加载OS到内存中。
(3)当电脑通电时,段寄存器CS和指令寄存器IP能够确定一个内存地址,例如CS:IP = 0xf000:fff0.
(4)POST(加电自检),寻找显卡和执行BIOS。(显示器,键盘…是否正常)。
(5)步骤:
-BIOS: 将Bootloader从磁盘的磁盘的引导扇区(512字节)加载到0x7c00;跳转到CS:IP=0000:7c00的内存区域(以便下一步)
-Bootloader:将操作系统的代码和数据从硬盘加载到内存中;跳转到操作系统的起始地址。

 

 

(6)系统调用:(来源于应用程序)应用程序主动向操作系统发出服务请求。
(7)异常:(来源于不良的应用程序)非法指令或其它花的处理状态(e.g.内存出错)。
(8)中断:(来源于外设)来自不同的硬件设备的计时器和网络的中断。

(9)为什么应用程序不能直接访问硬件而是通过操作系统?
-计算机运行时,内核是被信任的第三方。
-只有内核可以执行特权指令。
-为了方便应用程序。

(10)讨论的问题:操作系统如何设计和实现中断/异常和系统调用;他们三者的区别和特点。

(11)产生的源头
-中断:外设(键盘/鼠标/网卡/声卡/显卡,可以产生各种事件)
-异常:应用程序意想不到的行为(e.g.异常,恶意程序,应用程序需要的资源未得到满足)
-系统调用(system call):应用程序请求操作提供服务(e.g.打开/关闭/读写文件,发送网络包)

(12)处理时间
-中断:异步;
-异常:同步;
-系统调用:同步或异步。

(13)响应
-中断:持续,对用户应用程序时透明的
-异常:杀死或者重新执行意想不到的应用程序指令
-系统调用:等待和持续

标签:调用,操作系统,启动,中断,应用程序,内存,异常
From: https://www.cnblogs.com/huwy-123/p/17712962.html

相关文章

  • SpringBoot 启动时报错Unable to start embedded Tomcat
    导读最近公司有个gradle构建的工程,需要改造成maven方式构建(点我直达)。转为maven后,启动时一直报tomcat错误,最终排查是因为servlet-api这个包导致的依赖冲突,将这个依赖排除即可启动解决排除依赖,检查项目是否包含:javax.servlet-api<exclusions><exclusi......
  • 武汉星起航电子商务有限公司:亚马逊企业购产业带加速器正式启动  
    武汉星起航电子商务有限公司(以下简称“星起航”)是一家业内实力雄厚的亚马逊跨境电商孵化服务商。我们的使命是帮助中国卖家实现全球化梦想,将中国的制造业优势推广到全球市场。而在这个充满机遇的时刻,星起航积极响应了亚马逊的最新举措,为中国的传统工贸企业开启了一扇通向跨境电商的......
  • 我的世界PCL2启动器
    我的世界PCL2启动器最新版是一款由“龙腾猫跃”推出的游戏启动工具。我的世界PCL2启动器官方版功能齐全,支持离线和正版启动,能够帮助用户极速下载各种内部文件。我的世界PCL2启动器集下载、MOD、皮肤、整合包等功能于一体,运行稳定,方便用户管理。喜欢的朋友快来华军软件园下载体验吧!......
  • spring boot 在Linux下服务启动报错Unable to find Java
    前言:最近在开发项目的过程中遇到了一些坑(也可能不是坑,是自己没弄过导致折腾了很久),我们项目中遇到有用到一些第三方的库,有些第三方库可能不支持openjdk,只支出jdk,所以就要更换一下jdk,然后服务器又是之前的前同事配置的,这时候我把服务器的jdk版本从原来的openjdk1.7换成了官方的......
  • 启动一个springboot项目
    最终效果 在idea中  packagecom.fqs.helloworld.controller;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassHelloController{@GetMapping("/he......
  • 软件工程 之 (XMUT)计算机操作系统—计算应用题
    {mtitletitle="软件工程之(XMUT)计算机操作系统-计算应用题"/}{lamp/}一.多道程序设计课堂练习 第1题设内存中有三道程序A、B、C,它们按A、B、C的优先次序执行。它们的计算和I/O操作的时间见下表。假设三道程序使用相同设备进行I/O操作,即程序以串行方式使用设备,试画出单道......
  • 软件工程 之 (XMUT)计算机操作系统—课上习题及答案
    {mtitletitle="软件工程之(XMUT)计算机操作系统—课上习题及答案"/}{lamp/}《操作系统》课堂习题第一章:《操作系统概述》1一个完整的计算机系统应该包括(B)。A、主机、键盘和显示器B、硬件系统和软件系统C、主机和它的外部设备D、系统软件和应用软件.【解析】硬件系......
  • 错误记录——mysql5.7连接失败,服务无法启动
    起因:上周安装完mysql后,成功新建了数据库,一切都是正常的,于是就先搁置一旁。今天周一过来,却突然发现无法连接mysql了。过程:第一反应是服务没有启动,毕竟重启了电脑,说不定是服务没有自动启动,于是打开了服务管理器,却发现没有mysql对应的服务。既然没有,那我就自己手动创建一......
  • KingbaseES V8R6集群运维案例之---sys_monitor.sh start启动动态库错误
    案例说明:在KingbaseESV8R6集群部署了postgis后,执行sys_monitor.shstart启动集群时,出现动态库错误,如下图所示:适用版本:KingbaseESV8R6操作系统:KylinV10Server一、问题分析1、手工执行sys_ctl启动数据库服务,启动正常。2、执行sh-xsys_monitor.shstart查看脚本启动......
  • kingbaseES 优化之操作系统瓶颈排查
    针对操作系统性能瓶颈的判断和排查是数据库优化工作的一项重要技能,尤其是针对实例整体优化操作系统的性能瓶颈排查无外乎四个方面CPU、内存、磁盘、网络针对这四个方面整理了一些相关心得和大家分享。在判断系统瓶颈之前首先我们要知道操作系统资源的极限值在哪里收集系统信......