李治军操作系统 笔记

这篇笔记详细介绍了操作系统的基础知识,包括操作系统概述、引导过程、系统接口和历史。深入探讨了进程与线程,特别是内核级线程的实现,涉及系统调用、线程切换和调度策略。此外,还讲解了内存管理,如分段、分页、多级页表和内存换入换出策略,以及死锁和进程同步的概念。
摘要由CSDN通过智能技术生成

第一篇.操作系统基础

1.1 操作系统概述

1.2 操作系统引导(总体做的:将操作系统读入内存 + 初始化 )

 bootsect.s
 setup.s
      读取硬件参数
      读取system到内存0x00位置
      从16位模式 转到 32位模式,即从实时模式 转到 保护模式, 使得寻址方式发生了改变,跳转到0x00执行system,其实是转到head.s代码
      实时模式: 地址翻译 CS<<4 + IP
      保护模式 :根据CS查表 + IP
 head.s
      初始化GDT,IDT表
      转到main()函数,main()是c函数
 main()
      各种初始化,包括mem_init 标记那些内存块被使用,哪些没有被使用

1.3 系统接口

1.3.1 操作系统接口

由系统提供的函数调用

1.3.2 系统调用的实现

硬件上隔离用户段和内核段,DPL CPL来实现, 其实是把内存分段了,进行隔离保护
从用户段访问内核段,必须通过中断0x80才能访问内核段

库函数write:
1)系统调用号 => %eax
参数1 => %ebx
参数2 => %ecx
参数3 => %edx

2) int 0x80 中断,进入内核,调用 system_call,
int 0x80 和 system_call函数的关系要先注册好 ,即设置IDT表,改变了DPL,以及段寄存器地址,还有偏移地址,实际上就是设置了DPL和中断函数地址 !!!

system_call:
      call _sys_call_table(,%eax,4)           //eax保存的是系统调用号,有查call_table表格
call_table :
                //查找表,通过系统调用号查找对应的系统调用指针,然后去调用对应的sys_write

疑问

有system_call()的函数声明,但是没有实体,只有在.s文件中找到_system_call的标号
就是是_system_call,
c语言中声明和调用的时候都写成system_call
汇编中声明为_system_call,多一个下划线

汇编中调用汇编,则调用_system_call;
汇编中调用c函数,要在c函数前面加一个下划线,、_function;

1.4 操作系统历史

Unix
进程图谱
文件操作

第二篇. 操作系统之 进程与线程

六、 线程引出与实现

L10:用户级线程

进程 和 线程 都是动态概念
进程 = 资源 (包括寄存器值,PCB,内存映射表)+ 指令序列
线程 = 指令序列

线程 的资源是共享的,
进程 间的资源是分隔独立的,内存映射表不同,占用物理内存地址是分隔的

线程 的切换只是切换PC,切换了指令序列
进程 的切换不仅要切换PC,还包括切换资源,即切换内存映射表

用户级线程:调用Yield函数,自己主动让出cpu,内核看不见,内核只能看见所属进程而看不见用户级线程,所以一个用户级线程需要等待,内核会切到别的进程上,不会切到该进程下的其他用户级线程!!!
内核级线程

操作系统 治军 pdf》是一本由作者治军撰写的关于操作系统的书籍的电子版PDF文件。操作系统是计算机系统中的一个核心组成部分,它负责管理和控制计算机的硬件和软件资源,使得计算机能够高效地运行各种应用程序。 在这本书中,治军详细介绍了操作系统的基本概念、原理和设计原则。他从操作系统的起源和发展历程出发,讲解了多道、分时和实时操作系统等不同类型的操作系统,并深入解析了其内核结构和功能。此外,书中还讨论了进程管理、内存管理、文件系统、输入输出控制等重要的操作系统主题,为读者提供了全面了解和深入学习的机会。 这本书的PDF版本使得读者可以更加便捷地获取其中的内容,无论是在电脑、平板还是手机上都可以进行阅读。通过阅读这本书,读者可以深入了解操作系统的基本原理和相关技术,有助于他们提升对计算机系统的理解和应用。对于学习计算机科学或相关专业的学生和从事软件开发工作的技术人员来说,这本书是一本宝贵的参考资料。 总之,《操作系统 治军 pdf》是一本全面介绍操作系统的书籍的电子版PDF文件,读者可以通过阅读它来深入了解操作系统的原理和技术。这本书的出现为学习和研究操作系统提供了便利,对于对计算机系统有兴趣的人士来说是一本值得阅读的优秀教材。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值