栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

一个应用层程序的api是怎么在系统上执行的

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一个应用层程序的api是怎么在系统上执行的

应用层程序的api -> c标准库的api -> 操作系统的api -> 驱动程序的api -> 硬件层(驱动程序的api操作硬件):

c库IO函数的工作流程:

一个应用层的程序运行后
一、
要对其进行进程管理(如进程表项task_struct)
进行内存管理(如页表-建立映射关系)
虚拟文件系统VFS(linux中万物皆文件,个人认为是定位文件用的,先在虚拟系统中根据fd找出对应文件,然后根据虚拟文件系统与硬盘的挂载关系,在硬盘上定位该文件)
设备驱动管理(最后要调用驱动函数的api来控制硬件)
二、
系统会从main()函数入口(附带命令行参数),启动程序
应用层的api(代码段) ->c标准库的api(共享库) -> 操作系统的api(共享库) -> 驱动程序的api(内核空间中设备驱动) -> 硬件层(内核空间中的VFS)

若进程A和进程B是父子进程,则A、B共享的物理内存:
用户空间:
 1.代码段
 2.共享库
 3.动态库
内核空间:
 文件表项,i节点等

虚拟地址空间:

文件描述符:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/887107.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号