操作系统进程和管道

时间:2013-11-16 16:20:56

标签: c operating-system

我正在尝试制作一个操作系统项目,但我遇到了一些问题。在这个项目中,我有四个子进程,它们是发送者,加密者,解密者和接收者进程,以及父进程。

父进程应该向发送方进程发送一条消息作为参数,发送方将通过管道将消息发送给加密器,加密方将发送给解密器,并且解密器swill将消息结束到接收方进程。

父进程如何在不使用管道的情况下将消息发送到发送方进程?

2 个答案:

答案 0 :(得分:1)

这个问题听起来有点含糊不清。您能否提供有关这些流程的详细信息。

但根据我的理解,为什么不简单地将发件人从父母那里分出来。父母中的消息将自动复制到发件人子...

答案 1 :(得分:0)

ayushi1794中正确注明answer,问题未明确。初始(父)进程在哪里获取消息应该传递给发送者?

选项包括:

  1. 命令行参数(作为字符串)。
  2. 命令行参数(作为包含消息的文件的名称)。
  3. 编译时间常数字符串。
  4. 从标准输入读取数据(有或没有提示)。
  5. 在某个级别,父级无需向sender进程传递任何内容;它拥有父级中所有内容的完整副本,至少在第一次分叉时是这样。目前尚不清楚sender是否是主程序的一部分,或者它是否是将要执行的单独可执行文件。如果它只是主程序中的一个函数(对于加密器,解密器和接收器而言同样如此)则更简单。

    在编写代码时,请记住确保可以对其进行调试。确保进程标识自己,并打印输入和输出的适当表示(我知道您认为加密器的输入与发送方的输出相同,但请确保您确实得到了您认为正在获得的内容 - 你得到一个字符串的空终止符,例如?)。请记住,加密数据通常是任意二进制字符流;它可能包含嵌入的零字节。