首页 > 其他分享 >操作系统学习笔记(二)

操作系统学习笔记(二)

时间:2023-03-14 16:36:22浏览次数:48  
标签:__ 调用 操作系统 int 笔记 学习 指令 内核

操作系统接口

什么是操作系统接口?系统调用。

POSIX:Portable Operating System Interface of Unix(IEEE制定的一个标准族)

分类 POSIX定义 描述
任务管理 fork 创建一个进程
execl 运行一个可执行程序
pthread_create 创建一个线程
文件系统 open 打开一个文件或目录
EACCES 返回值,表示没有权限
mode_t st_mode 文件头结构:文件属性
 
系统调用的实现 内核(用户)态,内核(用户)段:
  • 区分内核态和用户态:一种处理器“硬件设计”;
  • 当前程序执行在什么态?由于CS:IP是当前指令,所以用CS的最低两位来表示:0是内核态,3是用户态;
  • 内核态可以访问任何数据,用户态不能访问内核数据;
  • DPL用来表示要访问的目标内存段的特权级;
  • CPL用来表示当前的特权级;
  • 检查DPL>=CPL,DPL>=RPL

硬件提供了“主动进入内核的方法”:对于Intel x86,那就是中断指令int(int 0x80)

  • int指令将使CS中的CPL改为0,“进入内核”。这是用户程序发起的调用内核代码的唯一方式;
  • 系统调用的核心:
    • 用户程序中包含一段包含int指令的代码(由库函数来做)
    • 操作系统写中断指令,获取想调程序的编号
    • 操作系统根据编号执行相应代码
  • 应用程序调用printf() --> C函数库的库函数printf() --> C函数库的库函数write() --> OS内核系统调用write()

 

   _syscall3的3表示是三个参数;宏展开;

  __asm__这块是内嵌汇编,"=a"(__res)表示将eax中的返回值赋给__res,后面""里面是空的,表示和前面一样指的是eax,即把__NR_##name表示的系统调用号赋给eax作为参数(宏展开后就是__NR_##write),后面就是把参数a b c赋给ebx ecx edx,参数都赋好后,int 0x80执行进入内核...

      

      还是很晕...

 

 


 

操作系统历史

 


我们的学习任务

 

标签:__,调用,操作系统,int,笔记,学习,指令,内核
From: https://www.cnblogs.com/summerw/p/17214799.html

相关文章

  • Spring笔记_动态代理
    AOPTarget目标对象Proxy代理目标对象中的方法产生结果代理类joinpoint连接点被拦截的方法(可以被增强的方法)Pointcut切入点jointPoint中已经增强的为切入点......
  • TypeScript 学习笔记 — infer 类型推导、类型兼容 (九)
    目录1.ReturnType返回值类型2.Parameters参数类型3.InstanceType实例类型4.ConstructorParameters构造函数参数类型5.infer实践更改元组类型将元组转换成联合类型获取......
  • 国产操作系统应用开发的趋势与挑战
    本文将从国产操作系统应用的现状分析、用户使用体验度、未来可能需要改进的地方、国产操作系统主要应用的场景等几个方面,探讨国产操作系统应用开发的趋势。 随着国内......
  • 数据结构笔记
    数据结构笔记二叉树遍历方式:前序遍历:打印-左-右中序遍历:左-打印-右后序遍历:左-右-打印Pair头文件:#includepair<类型1,类型2>变量名;pair<int,int>a(......
  • MarkDown 学习1
    常用弥补MarkDown的HTML标签字体字体及字体颜色和大小字体颜色换行使用html标签<br/>换行文本居左文本居中文本居右下划线typeIMyService=interfaceproc......
  • openwrt通过USBmodem收发SMS笔记(未完成)
    1、安装包:kmod-usb-serialkmod-usb-serial-optionusb-modeswitchusbutils2、USB口的打开、关闭https://openwrt.org/docs/guide-user/hardware/usb.overviewOn:echo......
  • 【服务器数据恢复】服务器断电导致RAID5卡硬件损坏,无法进入操作系统的数据恢复
    服务器数据恢复环境:某品牌ProLiantDL系列服务器,6块SAS硬盘组成RAID5磁盘阵列,WINDOWSSERVER操作系统,存储了企业的内部文件。服务器故障&分析:服务器在发生故障前有过......
  • win11笔记本插入鼠标关闭触摸板设置
     任务栏空白处右键,选择“任务栏设置”。 找到右侧蓝牙和其他设备,点击触摸板   去掉这个勾 ......
  • chatPDF原理学习
    一.很火的chatPDF.分析原因,想一下能和一本书沟通,这本身就是一件神奇的事情,再者,它能帮助你通过聊天的方式学习到其中的内容,调动了学习的乐趣.除了装X外,乐趣......
  • GO语言学习笔记-测试篇 Study for Go ! Chapter ten- Test
    持续更新Go语言学习进度中......GO语言学习笔记-类型篇StudyforGo!Chapterone-Type-slowlydance2me-博客园(cnblogs.com)GO语言学习笔记-表达式篇Study......