01 操作系统基础

简介: 一、控制系统启动过程1.要想顺利启动系统,bootsect.s必须让在磁盘的固定位置上,这个工作是由 make / makefile 完成的2.

一、控制系统启动过程

1.要想顺利启动系统,bootsect.s必须让在磁盘的固定位置上,这个工作是由 make / makefile 完成的

2.启动保护模式以后,指令jmpi 0, 8和没有启动保护模式的区别:得出跳转地址的方式不一样

3.在setup中获取内存大小这一个硬件参数的目的是为后面的mem_init()做准备

4.在屏幕上打出“Loading System…”等系统Logo的时候,计算机内部正在:初始化内存管理数据结构、读磁盘、启动保护模式

5.Windows系统启动和Linux系统启动时,初始化内核数据结构不一样

6.根据GDT表,jmpi 0, 8要跳到0地址处去执行,那么能不能执行jmp 0呢?也可能,但首先要设置cs,并且要保证cs指向的那个GDT表项中的基地址为0

7.操作系统启动要完成的工作:初始化IDT表、初始化mem_map、初始化GDT表

8.mem_init就是初始化一个数组,如果某个数组项中的内容为0,则表示对应的那一段内存空闲;数组中的每个项表示固定大小的一段内存;mem_init调用之前可以不获得物理内存的大小;此外,并非初始化时将所有数组项中的内容都设置为0

二、系统接口

1.用户程序调用printf(“Hello World!”)最终要通过写显存来完成Hello World!的输出,从用户程序到写显存中间经过的顺序为:用户程序;C函数库;系统调用;sys_write;写显存

2.将程序的执行分为用户态和内核态是为了保护操作系统内核

3.在系统调用的实现中,在int 0x80指令调用之前,给eax赋值的目的是传递系统调用号

4.为什么称为系统调用:为了和其他的函数调用相区别,表现为一个函数调用,最终调用了操作系统提供的功能;而并非call了一个内核中的函数

5.鼓励操作系统实现POSIX接口的真正目的是上层应用程序可以移植

6.printf(“Hello World!”)中的字符串地址最终是通过寄存器和栈的配合以参数的形式传递给sys_write函数的

7.int 0x80是唯一能从CPL=3(用户态)到CPL=0(内核态)的指令跳转,所以应用程序中的系统调用要展开成一段包含int 0x80的代码

8.系统调用有open,printf,write等,但cos不是

9.Windows的系统接口和Linux接口的不一样导致了Windows上的程序不能在Linux上运行

10.在Linux上添加一个系统调用foo()的步骤有:在int 0x80的中断处理程序中增加对sys_foo的函数调用,修改sys_call_table这个函数表,将foo展开成一段包含int 0x80的代码;而不是设置int 0x80的中断处理程序入口地址

目录
相关文章
|
7月前
|
安全 物联网 调度
【软件设计师备考 专题 】网络操作系统和嵌入式操作系统基础知识
【软件设计师备考 专题 】网络操作系统和嵌入式操作系统基础知识
135 0
|
7月前
|
存储 安全
计算机操作基础
计算机操作基础
|
4月前
|
存储 资源调度 算法
操作系统基础(一)
操作系统基础(一)
58 1
|
3月前
|
边缘计算 人工智能 算法
操作系统的心脏:深入理解任务调度的艺术
在现代计算的宏伟舞台上,操作系统扮演着至高无上的指挥家角色,而任务调度则是其手中那根神奇的指挥棒,它不仅掌控着每一个程序和进程的命运,还确保了整个系统的和谐与高效运行。本文将引领读者踏上一场探索之旅,从基本概念出发,逐步揭示轮转调度、优先级调度等核心策略的神秘面纱,探讨它们如何在不同场景下发挥关键作用。更重要的是,我们将展望下一代调度算法可能带来的创新与变革,以及人工智能如何为这一领域注入新的活力。通过深入浅出的讲解,我们期待每位读者都能从中汲取知识的养分,获得深刻的启发。
70 3
|
4月前
|
存储 Linux 程序员
操作系统基础 (二)
操作系统基础 (二)
36 1
|
4月前
|
机器学习/深度学习 存储 人工智能
操作系统的心脏:内核探索之旅
【8月更文挑战第11天】在数字世界的宏伟建筑中,操作系统是支撑软件生态和硬件资源协同工作的基石。而在这庞大复杂的系统中,内核则是其跳动的心脏。本文将深入探讨操作系统内核的设计哲学、功能组件以及它在现代计算环境中的作用与挑战。我们将一窥内核如何管理处理器、内存、存储设备等关键资源,并分析它如何在多任务处理、安全性保障及系统性能优化方面扮演至关重要的角色。此外,文章还将讨论当前技术趋势对内核设计的影响,以及未来可能出现的创新方向。
|
6月前
|
存储 算法 安全
操作系统基础
操作系统基础
63 0
|
存储 算法 安全
29【操作系统】计算机操作系统知识点总结
操作系统是计算机系统中最重要的软件之一,是计算机硬件和应用程序之间的桥梁,是计算机用户与计算机硬件之间的接口。 操作系统涉及到操作系统的原理、结构、管理、调度等方面的知识。
297 0
|
消息中间件 存储 Ubuntu
【操作系统基础知识 一】操作系统基本原理
【操作系统基础知识 一】操作系统基本原理
175 0
|
监控 Linux 开发者
国产操作系统统信UOS的简单故障维护,系统崩溃小妙招
国产操作系统统信UOS的简单故障维护,系统崩溃小妙招
国产操作系统统信UOS的简单故障维护,系统崩溃小妙招