4. 操作系统简述.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4. 操作系统简述

* * * * * * * * * * * * * * * * * * * * * * * * * * * * 如何访问文件 系统调用 应用程序申请操作系统资源的接口 用户态与系统态 man syscalls 进程管理系统调用 getpid 获取当前进程号 fork 创建进程 exit 退出进程 #includesys/types.h #inlcudeunistd.h main() { pid_t pid; /*此时仅有一个进程*/ pid=fork(); /*此时已经有两个进程在同时运行*/ if(pid0) printf(error in fork!); else if(pid==0) printf(I am the child process, my process ID is %d\n,getpid()); else printf(I am the parent process, my process ID is %d\n,getpid()); } wait/waitpid 等待子进程退出 exec家族 新进程内容替代老进程 文件系统系统调用 open 打开文件 read 读文件 write 写文件 fcntl 文件控制 close 关闭文件描述字 chdir 改变当前工作目录 chmod 改变文件方式 stat 取文件状态信息 mkdir 创建目录 mknod 创建索引节点 unlink 删除文件 mount 安装文件系统 umount 卸下文件系统 系统控制系统调用 ioctlI/O 总控制函数 reboot 重新启动 swapon/swapoff 打开/关闭交换文件 getitimer 获取计时器值 gettimeofday 取时间和时区 time 取得系统时间 uname 获取当前UNIX系统的名称、版本和主机等信息 init_module 初始化模块 create_module 创建可装载的模块项 内存管理系统调用 mmap 映射虚拟内存页 munmap 去除内存页映射 mremap 重新映射虚拟内存地址 sync 将内存缓冲区数据写回硬盘 用户管理系统调用 getuid 获取用户ID setuid 设置用户ID getgid 获取组ID setgid 设置组ID IPC系统调用 信号 sigaction 设置对指定信号的处理方法 signal 参见signal kill 向进程或进程组发信号 消息传递!!!!! msgctl 消息控制操作 msgget 获取消息队列 msgsnd 发消息 msgrcv 取消息 管道 pipe 创建管道 信号量 !!!!!!!!!!!!!!!!!!!!!! semctl 信号量控制 semget 获取一组信号量 semop 信号量操作 共享内存!!!!!!!!!!!!!!!!!!!!!!! shmctl 控制共享内存 shmget 获取共享内存 shmat 连接共享内存 shmdt 删除共享内存 网络管理 gethostid 获取主机标识号 sethostid 设置主机标识号 socket 建立socket bind 绑定socket到端口 connect 连接远程主机 accept 响应socket连接请求 send 通过socket发送信息 recv 通过socket接收信息 listen 监听socket端口 select 对多路同步I/O进行轮询 Linux内核发展历史 Apr 1991 - Linus Torvalds, 21岁, 启动 September 1991 - Linux version 0.01发布.(10,239行代码) December 1991 - Linux 0.11 发布. 第一个可以自举的版本 (Linux 0.11 可以在 Linux 0.11上编译) March 1992 - Linux version 0.95 第一个可以运行 X Window 的版本. 14 March 1994 - Linux 1.0.0发布. (176,250行代码) 9 June 1996 - Linux 2.0.0发布. (777,956行代码) 4 January 2001 - Linux 2.4.0发布. (3,377,902行代码) 17 December 2003 - Linux 2.6.0发布. (5,929,913行代码) Linux内核源代码 命名规则 A.B.C[.D] A 内核版本 B 主版本号,奇数代表开发版本,偶数代表稳定版本 C 次版本号 D 紧急bug修复 2.4内核编译命令 make config/menuconfig/xconfig 内核配置

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档