免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 931 | 回复: 0
打印 上一主题 下一主题

POSIX OS [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-21 11:42 |只看该作者 |倒序浏览

                                                                POSIX OS指的是遵守POSIX规范的操作系统的总称,又可称之为类UNIX系统。
操作系统的功能分为两个部分:CPU调度和资源管理。
现代的POSIX OS一般是多线程的。讨论POSIX OS时,必然要研究进程和线程。
有汇编基础的人,可以从底层的观点来看待进程。
在现代操作系统中,进程支持多线程。进程是资源管理的最小单元;而线程是程序执行的最小单元。一个进程的组成实体可以分为两大部分:线程集合和资源集合。进程中的线程是动态的对象;代表了进程指令的执行。资源,包括地址空间、打开的文件、用户信息等等,由进程内的线程共享。线程有自己的私有数据:程序计数器,栈空间以及寄存器(可以认为线程自己保存着CPU的状态,而和其他线程共享内存空间)。
一个进程在内存中的“实体”是:
http://blog.chinaunix.net/u3/93494/showart.php?id=1876653
而线程是进程中的执行引擎。
[color="#ff0102"]可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。
子进程继承父进程资源的时候,一般是“写时拷贝”。内存管理器赋予它们不同的虚拟地址。
POSIX OS讨论资源的时候,可以分为文件抽象、SOCKET套接口、XIPC对象来讨论。
文件抽象:
        包括普通文件,设备文件,管道,FIFO。        进程维护自身的文件描述符,文件描述符指向系统中的文件表,系统文件表再指向内存的德文件表。        文件指针偏移量保存在系统文件表中。        子进程如果继承了父进程的文件描述符,同时继承系统文件表中的项目,那么和父进程共享文件偏移量。        对于进程间对同一个文件的读写问题的讨论,事实上是操作系统理论的I/O问题。        注意到文件抽象的实体是不同的设备。在POSIX OS中,对文件的读写可能受到用户空间缓存,系统缓存和设备缓存的影响。        C库中的文件指针I/O的函数有自己的缓存,除非遇到换行符或者fflush等。        write函数将用户空间的数据拷贝的系统的buffer ccache中。        与设备相关的缓存,可能是一个网络设备可以搜集按时间到达的数据,然后再按序写入存储体。                关于“写覆盖”问题,对于普通文件,写命令是字符串加上相应的指针偏移量,所以存在“写覆盖”;对于终端,管道等,写命令式FIFO的,所以不同进程的写命令式不会彼此覆盖的,虽然顺序可能错乱。
SOCKET:
XIPC:
               
               
               
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93494/showart_2056681.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP