inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Arm 아키텍처: 메모리 모델과 배리어 [저자직강 3부-3]

2.2-메모리 맵드 I/O 예시-BCM2711 (라즈베리 파이)

멀티 스레드 스택공간

85

platf

작성한 질문수 15

0

안녕하세요,

멀티 스레드 환경시 하나의 스택 공간을 사용하게 된다고 배웠는데요,

arm 아키텍쳐 상에서 스레드 별로 스택을 공유하게 되는 것은 따로 지원이 되지 않는 것 같은데, 운영체제 상에서 전부 구현하게 되나요?

아니면 다른 방법이 있을까요(, arm 을 이용해서)?

arm-architecture barrier armv8 cortex-a memory-mapped-io

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. platf님.

멀티 스레드 환경에서의 스택 관리에 대한 질문을 주셨네요. 멀티 스레드 환경에서 각 스레드는 일반적으로 별도의 스택을 갖습니다. 이는 스레드 간의 독립성과 안전성을 유지하기 위해 중요합니다. ARM 아키텍처 상에서 이러한 스택 관리 기능은 하드웨어적으로 지원되는 것이 아니라 운영체제에서 주로 관리하게 됩니다.

스레드 별 스택 관리

  1. 운영체제 역할: 대부분의 운영체제는 스레드가 생성될 때마다 해당 스레드에 고유의 스택을 할당합니다. 이 스택은 프로세스의 전체 메모리 공간 내에서 관리되며, 이로써 스레드 간 메모리 충돌을 방지할 수 있습니다.

  2. ARM 아키텍처 관련: ARM 아키텍처 자체에서는 스레드 별 스택 관리에 관여하지 않습니다. 대신, ARM은 다양한 운영체제(예: Linux, RTOS)에서 이러한 스레드 기능을 구현하는 데 필요한 하드웨어 기능, 예를 들어 컨텍스트 스위칭을 위한 빠른 레지스터 변경 등을 제공합니다.

  3. 멀티 스레드 환경의 장점: 각 스레드에 독립된 스택을 제공함으로써, 스레드는 자기 자신의 실행 흐름을 유지할 수 있으며, 동시에 다른 스레드와의 간섭 없이 작동할 수 있습니다. 이는 효율적이고 안전한 멀티태스킹 운영을 가능하게 합니다.

추가 참고 사항

스레드의 스택 관리에 대한 더 깊은 이해를 위해 운영체제의 스레드 관리와 메모리 관리 관련 내용을 학습하시면 도움이 될 것입니다. 만약 ARM 아키텍처에서 이러한 부분에 대해 더 알고 싶으시다면, ARM에 최적화된 운영체제의 구조를 배워보시는 것도 추천드립니다.

관련된 기존 질문 및 답변을 참고해 보세요:
- 멀티레벨테이블로 운영하는 이유

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.

0

8

1

SP와 SP_ELn의 관계

0

25

1

stm32cubeide 관련 문의

0

45

2

5장 Armv7 동작모드와 6장 Armv8 익셉션 레벨 차이

0

40

2

강의 업로드 오류 확인 요청

0

61

2

시스템 소프트웨어 직무 관련 질문드려요

0

69

2

책관련 질문드려요

0

70

2

4.2.1. 실습을 어떻게 진행하는것인가요?

0

62

2

DMA 관련한 강의도 제작해주실 수 있으신가요 ?

0

93

1

3.2.1.4 실습과 관련한 질문

0

72

2

56강 bcm2835-mailbox.c 파일 질문

0

55

2

'drivers/soc/bcm/bcm2835-power.o 에러 입니다.

0

83

3

TRACE 32만을 이용한 출력 Callstack 의 cpu 번호 파악

0

62

1

배리어 관련 질문

0

95

1

DSB 리소스 관련

0

89

1

전체적인 맥락에 대해서 질문이 있습니다.

0

124

1

reordering

0

100

2

ARM multi core programming

0

72

1

리눅스 memory map

0

117

1

SoC

0

72

1

device memory

0

115

2

메모리 맵드 I/O에 대해서

0

218

1

ISB 배리어에 대한 질문입니다.

0

323

2

MMIO 질문

0

657

2