哪一天 哪一天 我有吃有穿有住有钱 不再流浪 流浪
« »
December 26, 2006程序设计

45 views

【实验报告】操作系统中共享内存

操作系统布置了作业,是写实验报告!

有4个命题:

1:进程管理   2:信号量  3:高级通信  4;内存管理

因为我对PHP比较熟悉,就打算用php写这实验报告!

网上搜索了一段代码!写下了如下的实验报告!

==============================================================================

php中实现操作系统共享内存

先简单介绍一下php,PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法!学过C的程序员看了php会有似曾相识的感觉!

首先配置php环境!我用的操作系统是windows xp sp2,由于手动配置环境比较浪费时间,所以我采用了服务器套件appserv v2.5.7,这个服务器套件中集成了apache服务器,mysql数据库,php环境,phpmyadmin管理程序,这个软件安装好后,需要在php.ini中取消 ;extension=php_shmop.dll 这行的行首分号,加载shmop扩展。重新启动apache服务器即可!然后在服务器的www目录下创建如下文件并写入程序!

1:create.php

<?php
/*
 * @文件: create.php
 * @功能:将全局变量写入共享内存中
 */
 
//定义全局变量
$super = ”hello world”;

//申请100字节共享内存空间
$shm_id = shmop_open(0xff3, ”c”, 0644, 100);
if (!$shm_id)
{
 echo ”申请空间失败<br>”;
}

//内容写入共享内存空间
if (shmop_write($shm_id, $super, 0))
{
 echo ”全局变量已经写入共享内存<br>”;
}
else
{
 echo ”写入共享内存失败<br>”;
}

//关闭共享内存空间
shmop_close($shm_id);
?>

2:read.php

<?php
/*
 * @文件: read.php
 * @功能:读取共享内存中的内容
 */
 
//读100字节共享内存空间
$shm_id = shmop_open(0xff3, ”a”, 0644, 100);

//获取共享内存空间中的前11个字节的内容
//create.php中 $super 变量长度为11
$share = shmop_read($shm_id, 0, 11);

echo $share;

//关闭
shmop_close($shm_id);
?>

 先运行http://localhost/create.php创建1个100字节的共享内存空间!

然后运行http://localhost/read.php读取这个共享内存空间即可!

===============================================================================

注:程序是从网上抄来的!

unix/linux下需要重新编译php,加入–enable–shmop 选项!

随机日志

日志信息 »

该日志于2006-12-26 09:16由 admin 发表在程序设计分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

主机推荐 »

赞助商链接 »

3条评论

  1. faintfaq says:

    先运行http://localhost/create.php创建1个100字节的共享内存空间!关闭浏览器后 共享内存还存在 有点深了 搞不懂

    [回复]

  2. sanp says:

    这个共享内存是通过php在电脑系统中创建的,跟浏览器是否关系没关系的!

    [回复]

  3. sanp says:

    这个共享内存是通过php在电脑系统中创建的,跟浏览器是否关系没关系的!

    [回复]

发表评论 »

返回顶部