본문 바로가기

Thread2

임베디드 시스템의 핵심 기술, RTOS란? - Part.2 (CPU 동작 단계, CPU Scheduling, Process, Task vs Thread) [CPU 동작 단계] 📌 Fetch(인출) CPU가 메모리에서 다음 실행할 명령어를 인출하는 단계이다. 인출 단계에서는 다음 실행할 명령어의 메모리 주소가 프로그램 카운터(PC) 레지스터에 저장되어 있다. CPU는 PC에 저장된 주소를 사용하여 메모리에서 해당 명령어를 검색하고 인출한다. 이때, 메모리의 데이터는 명령어로 해석되어 CPU 내부로 가져온다. 📌 Decode(해석) 안출한 명령어를 해석하는 단계이다. CPU는 명령어를 해석하여 해당 명령어의 유형과 실행에 필요한 추가 정보를 추출한다. 명령어 해석은 명령어 집합 아키텍쳐(ISA)에 정의된 명령어 형식을 기반으로 수행된다. 이 단계에서 CPU는 명령어가 어떤 연산을 수행해야 하는지 결정하고 필요한 레지스터나 데이터를 결정한다. 📌 Execute.. 2023. 9. 4.
공유 자원을 관리하는 두 가지 방법 : Mutex / Semaphore [개요] Mutex와 Semaphore는 동시에 여러 프로세스나 스레드가 공유 리소스에 접근할 때 발생할 수 있는 문제를 관리하기 위한 동기화 기법이다. 이들은 프로그램에서 여러 스레드 또는 프로세스가 공유 자원을 안전하게 사용하도록 조절하는데 사용된다. [Mutex] 📌 Mutex란? 뮤텍스는 "상호 배제"를 의미하는 Mutual Exclusion의 약자로, ✅ 오직 하나의 스레드만이 특정 코드 블록을 실행하도록 보장하는 동기화 기법이다. (공유 자원 1개에 하나의 User만 사용 가능, 동기화 대상이 1개) 이는 특정 리소스에 대한 접근을 한 번에 하나의 스테드만 가능하도록 하여, 데이터의 일관성과 안정성을 보장하고 하나의 스레드가 뮤텍스를 잠그면(획득하면), 다른 스레드들은 해당 뮤텍스를 얻을 때까.. 2023. 9. 1.