- Community Home
- >
- HPE Community, Korea
- >
- HP-UX
- >
- shared memory 는 어디에 존재하나요??
HP-UX
1752808
회원
5780
온라인
108789
솔루션
포럼
범주
Company
Local Language
뒤로
포럼
토론 게시판
포럼
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
토론 게시판
토론 게시판
포럼
토론 게시판
뒤로
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
블로그
정보
커뮤니티 언어
언어
포럼
블로그
3 응답 3
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
날짜: 02-05-2004 11:00 PM
날짜: 02-05-2004 11:00 PM
shared memory 는 어디에 존재하나요??
IPC (Inter Process Communication) Resource중에 하나인
Shared Memory는 실재로 Memory 존재하고 있습니다.
용어에서도 나타나 있지만 Memory를 공유하기 위한 Resource 입니다.
Process 간에 공유해야 할 Data들을 처리하기 위해 Shared Memory라는
영역으로 Memory 에 일정공간 할당을 하게 되어 있습니다.
일반적으로 Process 가 실행될 때 실행에 필요한 Code가 Memory로
Load가 되며 각각의 Process가 가지고 있는 Memory Region을 VAS
(Virtual Address Space)라고 합니다. Process가 Shared Memory를
사용할 때는 Shared Memory Key 및 ID를 참고하게 됩니다.
그리고 Shared Memory 영역을 사용할 때는 할당되어진 Shared Memory
영역만큼 VAS에 가상으로 Attach 되게 되어 있습니다.
그래서 Kernel Parameter 중에 Shared Memory 영역에 관한 것들을
Setting 하게 되어 있습니다.
Shared Memory 를 사용하는 가장 근본적인 이유는 IPC를 하기 위해
가장 고효용성(Access Time)을 가지고 있기 때문입니다.
그리고 대부분의 Owner는 root, DB User, Middle User들이 사용을
하고 있을 것입니다. Application Programmer들은 별도의
System Call을 사용하여 Shared Memory를 사용하게 되는데 Program에
편의성이 증가됨으로 직접 System Call을 사용하시는 경우는 많지
않을 것입니다.
부족하지만 도움이 되셨으면 합니다.
좋은 하루 되시길...
Shared Memory는 실재로 Memory 존재하고 있습니다.
용어에서도 나타나 있지만 Memory를 공유하기 위한 Resource 입니다.
Process 간에 공유해야 할 Data들을 처리하기 위해 Shared Memory라는
영역으로 Memory 에 일정공간 할당을 하게 되어 있습니다.
일반적으로 Process 가 실행될 때 실행에 필요한 Code가 Memory로
Load가 되며 각각의 Process가 가지고 있는 Memory Region을 VAS
(Virtual Address Space)라고 합니다. Process가 Shared Memory를
사용할 때는 Shared Memory Key 및 ID를 참고하게 됩니다.
그리고 Shared Memory 영역을 사용할 때는 할당되어진 Shared Memory
영역만큼 VAS에 가상으로 Attach 되게 되어 있습니다.
그래서 Kernel Parameter 중에 Shared Memory 영역에 관한 것들을
Setting 하게 되어 있습니다.
Shared Memory 를 사용하는 가장 근본적인 이유는 IPC를 하기 위해
가장 고효용성(Access Time)을 가지고 있기 때문입니다.
그리고 대부분의 Owner는 root, DB User, Middle User들이 사용을
하고 있을 것입니다. Application Programmer들은 별도의
System Call을 사용하여 Shared Memory를 사용하게 되는데 Program에
편의성이 증가됨으로 직접 System Call을 사용하시는 경우는 많지
않을 것입니다.
부족하지만 도움이 되셨으면 합니다.
좋은 하루 되시길...
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
날짜: 02-05-2004 11:00 PM
날짜: 02-05-2004 11:00 PM
shared memory 는 어디에 존재하나요??
그렇다면.
A와 B가 서로 통신하는 IPC 프로그램에서
20M 만큼의 shared memory를 잡아둔다고하면,
A와 B가 서로 통신을 할때
A는 자신의 process memory 영역(ex:10M) + 20M
B는 자신의 process memory 영역(ex:10M) + 20M
이런식으로 잡아두고 IPC를 하게 되나요?
그러면 총 memory 사용량은 10M*2 + 20M*2가 되나요??
그리고 답변중에 "가상으로 Attach한다"라는 말이 있는데..
어떤 뜻인가요? 실제로 memory 할당되지 않는 다는 말인가요?
그렇다면 위처럼 되지는 않을 것같은데..
A와 B가 서로 통신하는 IPC 프로그램에서
20M 만큼의 shared memory를 잡아둔다고하면,
A와 B가 서로 통신을 할때
A는 자신의 process memory 영역(ex:10M) + 20M
B는 자신의 process memory 영역(ex:10M) + 20M
이런식으로 잡아두고 IPC를 하게 되나요?
그러면 총 memory 사용량은 10M*2 + 20M*2가 되나요??
그리고 답변중에 "가상으로 Attach한다"라는 말이 있는데..
어떤 뜻인가요? 실제로 memory 할당되지 않는 다는 말인가요?
그렇다면 위처럼 되지는 않을 것같은데..
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
날짜: 02-06-2004 11:00 PM
날짜: 02-06-2004 11:00 PM
shared memory 는 어디에 존재하나요??
예. 가상으로 Attath 한다는 말씀은 실재로 Memory 영역을 잡는
것은 아니고 Address Space 안에 Shared Memory 의 Index를 가지고
있습니다.
그래서 Process가 Shared Memory를 사용한다고 해서 Shared Memory
만큼의 사용량이 증가하는 것은 아닙니다.
ipcs -am 을 보시면 NATTCH Field가 있습니다. 이 Field가 해당
Shared Memory를 Attatch 하여 사용하고 있는 Process 의 갯수
입니다.
Shared Memory를 사용하면 Process마다 다 할당을 한다고 하면
아무리 많은 Memory를 가지고 있다고 해도 감당하기 힘들 것입니다.
말씀드렸듯이 Index만을 가지고 있는것이며 Shared Memory를 사용
할때는 각각의 Process 마다 Locking Mechanism을 가지면서 유기적
으로 작용을 합니다.
저도 System Call을 직접 다루지 않아 Locking Mechanism을 설명
드리기는 어려울것 같네요.
것은 아니고 Address Space 안에 Shared Memory 의 Index를 가지고
있습니다.
그래서 Process가 Shared Memory를 사용한다고 해서 Shared Memory
만큼의 사용량이 증가하는 것은 아닙니다.
ipcs -am 을 보시면 NATTCH Field가 있습니다. 이 Field가 해당
Shared Memory를 Attatch 하여 사용하고 있는 Process 의 갯수
입니다.
Shared Memory를 사용하면 Process마다 다 할당을 한다고 하면
아무리 많은 Memory를 가지고 있다고 해도 감당하기 힘들 것입니다.
말씀드렸듯이 Index만을 가지고 있는것이며 Shared Memory를 사용
할때는 각각의 Process 마다 Locking Mechanism을 가지면서 유기적
으로 작용을 합니다.
저도 System Call을 직접 다루지 않아 Locking Mechanism을 설명
드리기는 어려울것 같네요.
위에 명시된 의견은 Hewlett Packard Enterprise가 아닌 저자의 개인 의견입니다. 이 사이트를 사용하면 이용 약관에 동의하게되며 참여 규칙 .
뉴스 및 이벤트
© Copyright 2024 Hewlett Packard Enterprise Development LP