操作系统_中国大学MOOC(慕课) (icourse163.org)
目录
操作系统_中国大学MOOC(慕课) (icourse163.org)
L1.L2.什么是操作系统
1.在计算机硬件之上包了一层软件,让我们使用计算机更加方便,这就是操作系统。
是计算机硬件和应用之间的一层软件。
作用:
(1).方便我们使用硬件,如使用显存
(2)高效地使用硬件,如开多个终端(窗口)
2.管理的硬件:CPU管理、内存管理、终端管理、磁盘管理、文件管理、网络管理、电源管理、多核管理
1)初识计算机
计算机硬件(裸机)。
2)图灵机
1936年A.C.图灵提出的一种模型
3)通用图灵机
设置控制器动作相当于应用程序,放入不同的动作,通用图灵机做出不同的回应。
4)冯·诺伊曼存储程序思想
1946年冯·诺伊曼存储思想
主要思想:
将程序和数据存放到计算机内部的存储器中,计算机在程序的控制下一步一步进行处理
计算机由五大部分组成:
输入设备、输出设备、存储器、运算器、控制器。
计算机核心结构:
取指执行
IP指针指向的地址开始执行
0磁道0扇区是操作系统的引导扇区(启动设备的第一个扇区)
一个扇区512字节
CS左移4位+IP
后者赋给前者
L3.操作系统启动
setup.s建立起来操作系统
setup最终转到保护模式(32位)
32位模式相反前者赋给后者
main不应该返回出来,返回则死机。
从汇编语言调到C语言
初始化:
L4操作系统接口(系统调用)
系统给上层提供的接口。
一些常见的系统调用。
操作系统接口是一些重要的函数。
接口表现为函数调用,又由系统系统提供,所以称为系统调用。
用户对计算机的使用方式:命令行(Linux)、图形按钮(Windows)、应用程序。
命令行:
命令行:命令程序。通过输入一段命令,调用shell程序即bin/sh。
敲入命令后打开shell(Linux)。
shell是一个死循环。
图形按钮:
图形界面:消息框架+消息处理程序。循环调用一个函数在内核里把消息挨个调用出来执行对应函数。
L5.系统调用的实现
不能随意的调用数据,不能随意的jmp
内核(用户)态、内核(用户)段
DPL描述目标内存段的特权级
在系统初始化就初始化好了,硬件中设计了特权级
CPL当前的特权级。
DPL>=CPL则可以调用
系统调用的核心:
1)用户程序中包含一段包含int指令的代码
2)操作系统写中断处理,获取想调程序的编号
3)操作系统根据编号执行相应代码
例:
一开始CPL=3,DPL=0,不能调用。设置系统调用号eax。通过int 0x80指令穿过,进行转换CPL=3,DPL=3.在sysyem_call中调用sys_whoami.