首页 > 系统相关 >【操作系统】进程同步之共享内存

【操作系统】进程同步之共享内存

时间:2024-09-06 19:53:58浏览次数:7  
标签:操作系统 进程同步 访问 内存 进程 共享 共享内存

进程的线程共享进程资源,而进程共享计算机资源。

在某种程度上,多进程是共享物理内存的。

由于操作系统的进程管理,不同的进程有自己独立的内存空间,互不干扰。

但是共享内存可以打破这个限制。

共享内存允许不相关的进程访问同一片物理内存。

共享内存是两个进程之间共享和传递数据最快的方式。

共享内存未提供同步机制,需要借助替他机制管理访问。

共享内存使用的步骤:

1、申请共享内存。

2、将共享内存连接到进程空间。

3、使用共享内存。

4、将共享内存脱离进程空间&删除。

例子:两个进程分别创建共享内存。

 

分别编译后,进程1的输入信息在进程2可以看到。

标签:操作系统,进程同步,访问,内存,进程,共享,共享内存
From: https://blog.csdn.net/xiaoliii0401/article/details/141967085

相关文章

  • 【操作系统】线程同步之自旋锁
    自旋锁也是一种多线程同步的变量,使用自旋锁的线程会反复检查锁变量是否可用。自旋锁不会让出CPU,是一种忙等待状态,死循环等待锁被释放。(和互斥量最大的不同)自旋锁的特点:1、避免了进程或线程上下文切换的开销。2、操作系统内部很多地方使用的是自旋锁。3、自旋锁不适合在......
  • 《网络操作系统》授课教学安排
    《网络操作系统》授课教学安排2+4+6+8+3+4+8=35(课时)项目一认识计算机网络(2课时)模块1典型中小型企业网络案例分析(1课时)模块2计算机网络基础知识(1课时)项目2建立企业内部网络环境(4课时)模块1建立企业内部网络软件环境(2课时)模块2配置网络连接实现企业内部网络......
  • 操作系统-系统调用
    操作系统中的系统调用是指运行在用户空间的程序向操作系统内核请求需要更高权限运行的服务,提供了用户程序与操作系统之间的接口。系统调用是操作系统为用户提供的,只能通过用户程序间接使用。1.系统调用的目的请求系统服务。应用程序无法直接使用内核功能,需要通过系统调用间......
  • 【操作系统存储篇】Linux文件基本操作
    目录一、Linux目录二、Linux文件的常用操作三、Linux文件类型一、Linux目录Linux有很多目录,Linux一切皆是文件,包括进程、设备等。相对路径:相对于当前的操作目录,文件位于哪个目录。绝对路径:从根目录开始的路径。二、Linux文件的常用操作touch:创建文件; vim:创建或......
  • 操作系统体系结构分类
    目录大内核(宏内核)微内核分层结构模块化外核大内核(宏内核)定义:大内核体系结构将所有系统功能集成在操作系统内核中,包括进程管理、内存管理、文件系统、网络协议等。优点:高性能:由于系统调用和内核服务可以直接在内核态中完成,减少了用户态与内核态之间的切换开销,提高了......
  • 麒麟操作系统运维工程师(KYCA 运维)有用吗
    麒麟操作系统运维工程师(KYCA运维)的作用和价值是显著的,对于个人职业发展以及企业和组织的信息系统运维都具有重要意义。以下是对其有用性的详细分析:一、个人职业发展专业认证与技能提升:KYCA证书是对运维工程师在麒麟操作系统上专业技能的一种认证,证明持证者具备使用和维护麒......
  • linux C++基于共享内存的同步机制
    无缘进程间同步,本来打算使用有名信号量进行同步,但是有名信号量的初始化会受进程启动顺序影响,故使用共享内存进行封装,封装后的使用方法类似二值信号量,代码如下:1#include<sys/ipc.h>//ipc:inter-processcommunication进程通信2#include<sys/shm.h>//shm:shareme......
  • 【读书笔记-《30天自制操作系统》-14】Day15
    本篇内容开始讲解多任务。本篇内容结构很简单,先讲解任务切换的原理,再讲解任务切换的代码实践。但是涉及到的知识不少,理解上也有些难度。1.任务切换与多任务原理1.1多任务与任务切换所谓多任务,指的是操作系统同时运行多个任务。但是这种说法实际上是不准确的。如果只有......
  • 哈工大-操作系统L32
    目录解析代码open_namei(filename,flag,&inode),解析路径filename,根据文件名把inode弄进来写到&inde上pathname路径名if((c=get_fs_byte(pathname))=='/'),如果是'/'就从根目录开始,不是就从当前目录开始current->root是根目录的inode由于每次访问都是从根目录开始,......
  • Vmware 上安装部署免费开源NAS系统FreeNAS11.3操作系统(支持CIFS (samba), FTP, NFS,
    说明FreeNAS®于2005年首次跃上互联网,在过去的十年里,它已成为一个家喻户晓的名字,在全球拥有超过1000万次下载和100万次部署。FreeNAS是一套免费的NAS(网络附加存储)服务器解决方案,它基于FreeBSD和Python开发,能够将一台普通的PC转变为功能强大的网络存储服务器。概述类型:NA......