虽然很多人都听说过计算机编程,但是不少人对计算机编程是干什么的并不了解。计算机编程是程序设计最重要的工具,计算机能够被接受和处理,并且具有一定的语法规则。从计算机诞生开始,计算机编程经历了机器语言、汇编语言和高级语言几个阶段,具体介绍如下:
为了减少系统开销,从进程中演化出了线程。线程存在于进程中,共享进程的资源。线程是进程中的独立控制流,由环境(包括寄存器组和程序计数器)和一系列的执行指令组成。
什么是共享内存?共享内存是允许两个或者多个进程共享给定的存储区域。进程间通信为什么要使用共享内存?在linux进程间通信的方式中,共享内存是一种最快的IPC方式。
在消息队列中,例如函数msgsnd(int msqid, const void* msgp, size_t msgsz, int msgflg);这个函数调用的时候,msgsz最大只能为8192,也就是2的16次方。可以看出这里的msgsz大小限制在一个short型。超过这个大小就会出错——invalid argument。并不是其他人所说的只要msgsz是mtext的大小就不会出错,如果sizeof(mtype)+sizeof(mtext)<=8192时,msgsz为sizeof(mtype)+s
无名管道概念:无名管道是一种特殊类型的文件,在应用层体现为两个打开的文件描述符。