当前位置:  技术问答>linux和unix

自己写系统调用时需要共享数据如何解决

    来源: 互联网  发布时间:2016-09-05

    本文导语:   实现信号灯操作的系统调用  增加四个系统调用:  create_sema 原型 int create_sema(char *name, int vaule); 功能 创建一个名称为name, 初始值为value的信号灯。 返回值 成功返回0,失败返回-1。  destroy_sema 原型 int destroy_sema(...

 实现信号灯操作的系统调用
 增加四个系统调用:
 create_sema
原型
int create_sema(char *name, int vaule);

功能
创建一个名称为name, 初始值为value的信号灯。

返回值
成功返回0,失败返回-1。

 destroy_sema
原型
int destroy_sema(char *name);

功能
删除名称为name的信号灯。

返回值
成功返回0,失败返回-1。

 wait_sema
原型
int wait_sema(char *name);

功能
对名称为name的信号灯的进行wait操作。

返回值
成功返回0,失败返回-1。

 signal_sema
原型
int signal_sema(char *name);

功能
对名称为name的信号灯的进行signal操作。

返回值
成功返回0,失败返回-1。

显然这个系统调用要写四个程序,不放设为create_sema.cc  destroy_sema.cc  wait_sema.cc   signal_sema.cc

这里的四个系统调用都要用到
struct semaphore_t {
    char name[16];
    int value;
    waitq_t waitq;
    semaphore_t * next;
};
semaphore_t * semaphore_list;
的数据结构,很疑惑这部分应该放在什么地方?
例如放在create_sema.cc文件中的syscreate_sema函数的前面,或是作为.h文件被.cc文件包含?

|

extern semaphore_t * semaphore_list; /* 把此语句放到一个头文件里,所有的.c文件包含它即可 */

|
用EXPORT_SYMBOL吧

    
 
 

您可能感兴趣的文章:

  • LINUX下系统调用是不能中断的,要怎么改造成可以中断系统调用?
  • 请问linux中的系统调用号是如何跟系统调用表对应起来的
  • Linux添加系统调用时如何调用C语言库函数
  • 问:系统调用的原理,一个C函数的系统调用是怎样进入到系统的?
  • 截获系统调用的模块中,如何获得发生系统调用eip
  • linux中为什么系统调用比普通函数调用更费时间?
  • 如何在LINUX下用一个普通文件调用一个自己编写的调用系统的文件
  • MINIX3 系统如何添加系统调用
  • 关于minix文件系统中dup的系统调用问题
  • 在LINUX中使用C调用系统命令,怎么取得系统命令的输出?
  • 在linux kernel 里添加了系统调用,如何在用户程序中调用添加的系统调用呢?急
  • 系统调用对应的内核函数在什么地方
  • 增加系统调用
  • 急急 solaris 系统被自己的进程调用太多堵死了,其它系统进程也运行不了,有没有什么好的办法啊?在线等!!!!
  • 望指点:系统调用与函数库关系
  • 如何用系统调用实现每秒钟显示一次系统时钟,可以用getitimer,setitimer,alarm?
  • 我自己写了一个一个程序,文件名叫test。。怎么能够像调用系统命令那样子去调用我这个命令呢。在任何地方输入test就能执行这个程序。
  • settimeofday系统调用只是修改了系统时间?!没写进硬件?重启后时间还是1970怎么办??感谢路过的大神指点
  • 关于Linux系统调用的问题!
  • C库函数和linux系统调用区别
  • 大家写一些嵌入式系统需要的知识,可以吗?
  • 程序需要共享内存相当大,但是系统的内存有限
  • 做系统维护需要哪些基本技能?
  • 做Linux操作系统下的手机驱动开发需要掌握哪些知识啊?
  • 请问linux系统调用需要包含头文件么?
  • 在pxa255建立linux2.4的系统,需要哪些补丁啊?
  • 做IDC机房系统管理员需要哪些知识?
  • 这需要系统调用吗
  • 学习操作系统都需要具备哪些知识?
  • 开发操作系统需要掌握哪些知识?
  • 想编写程序实现aix下prtonf的功能,即获取系统硬件配置,需要用到哪些函数?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • windows server2008上PowerBuilder程序系统错误解决方法
  • 解决!解决!求助如何安装多系统!
  • 在pxa255建立linux2.4的系统,需要哪些补丁啊? iis7站长之家
  • 邮件系统解决方案 IndiMail
  • [求助]安装双系统崩溃,两个系统都进不去,求解决!
  • 系统管理解决方案 openQRM
  • 求《操作系统,设计与实现》(Cn,En都可)电子书下载地址,解决即结账
  • redhat非法关机后,不能进入系统怎么解决?
  • 请问如何解决因为库的版本与文件系统不兼容引起的段错误?
  • 请教:在linux reahat系统下,如果把root的密码忘记,如何可以解决?
  • 求牛人centos 5.6 死机 无法进入系统 或提供可能的解决方法
  • linux系统Adsl上网问题,大家帮忙解决
  • linux系统,当机器一段时间鼠标键盘不动时,即屏保后,网卡不通,如何解决
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • 100分求解决多系统引导问题
  • 装有DB2的SCO UNIX系统运行中,出现警告提示...请问此警告是什么意思,如何解决?
  • 请帮助解决开发 操作系统 的所需步骤
  • 嵌入设备usb数据传输时拔掉u盘,系统崩溃应该怎么解决?
  • 求Solaris系统用户自动登录解决方法
  • 紧急寻求多系统安装解决方案
  • Linux系统下安装Oracle X11错误解决办法
  • mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
  • 问一个系统配置的问题:win2k系统能不能于SCO UNIX系统共存?
  • win7/Windows7系统下载地址搜集整理
  • unix下用java.util.Date取系统时间比直接在系统下用date命令查看系统时间早整整一个小时
  • Ubuntu查看系统信息命令介绍
  • windows 系统是否是多用户操作系统,如何理解“多用户操作系统”的“多用户”?
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • 我现在想做一个权限管理系统,想让权限系统的利用性更强,我应该怎样设计权限系统呢.
  • 怎样重装win7系统?win7重装系统步骤详细图文介绍
  • 谁知道哪里有用java开发的管理信息系统软件(如:图书馆管理系统,人事部管理系统)的代码?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3