본문 바로가기

# Programming24

공유 자원을 관리하는 두 가지 방법 : Mutex / Semaphore [개요] Mutex와 Semaphore는 동시에 여러 프로세스나 스레드가 공유 리소스에 접근할 때 발생할 수 있는 문제를 관리하기 위한 동기화 기법이다. 이들은 프로그램에서 여러 스레드 또는 프로세스가 공유 자원을 안전하게 사용하도록 조절하는데 사용된다. [Mutex] 📌 Mutex란? 뮤텍스는 "상호 배제"를 의미하는 Mutual Exclusion의 약자로, ✅ 오직 하나의 스레드만이 특정 코드 블록을 실행하도록 보장하는 동기화 기법이다. (공유 자원 1개에 하나의 User만 사용 가능, 동기화 대상이 1개) 이는 특정 리소스에 대한 접근을 한 번에 하나의 스테드만 가능하도록 하여, 데이터의 일관성과 안정성을 보장하고 하나의 스레드가 뮤텍스를 잠그면(획득하면), 다른 스레드들은 해당 뮤텍스를 얻을 때까.. 2023. 9. 1.
OS(운영체제)의 핵심 엔진 - Kernel(커널)의 기능과 구조, Scheduling Algorithm, Context Switching [Kernel] 📌 Kernel 운영체제는 규모가 매우 큰 프로그램이므로 운영체제의 모든 부분을 메모리에 올려놓는 것은 메모리 측면에서 봤을 때 굉장히 비효율적이다. 따라서 운영체제는 필요한 부분만을 메모리에 올려서 사용하게 되는데, 이때 메모리에 상주하는 운영체제의 핵심 부분을 이라 한다. 커널은 메모리에 상주하는 부분이므로 운영체제의 핵심 부분이라고 볼 수 있기 때문에, 주로 "운영체제 = 커널" 이라고도 한다. [Kernel의 구조 및 기능] 📌 Process 실행 파일을 클릭했을 때, 메모리(RAM)할당이 이루어지고, 이 메모리 공간으로 코드가 올라간다. 이 순간부터 이 프로그램은 process라 불리게 되고 실행 중인 프로그램을 process라 한다. (Process : 실행 중인 프로그램의 인.. 2023. 8. 31.
Computer Architecture, RISC & CISC란? [개요] RISC와 CISC는 컴퓨터 아키텍쳐 디자인에 사용되는 두 가지 주요한 접근 방식이다. 이 두 가지 방식은 명령어 집합 구조(ISA, Instruction Set Architecture)를 설계하는 방식에 관련된 것으로, 컴퓨터 프로세서의 동작 및 성능에 큰 영향을 미친다. [RISC] 개념 RISC는 Reduced Instruction Set Computing의 약자로, 그 이름에서도 알 수 있듯이 더 적은 수의 간단한 명령어로 구성된 아키텍쳐이다. RISC Architecture는 명령어가 간단하고 고정된 길이를 가지며, 프로세서가 이러한 명령어를 빠르게 실행하는 것에 중점을 둔다. RISC 프로세서는 명령어의 수행 속도를 최적화하기 위해 파이프라이닝, 명령어 중복 제거 등의 기술을 활용한다.. 2023. 8. 17.
임베디드 시스템의 핵심 기술, RTOS란? - Part.1 (기본 개념 및 특징, FreeRTOS, OSEK/VDX, 용어 정리-Task, Deadline 등) [OS - Operating System] OS란? Operating System의 약자로, 운영체제라고 부르기도 한다. 응용프로그램이 요청하는 시스템 자원을 효율적으로 분배하고 관리하는 기능을 하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임으로 사용자와 하드웨어(입출력, Memory) 간의 인터페이스로서 동작하는 시스템 소프트웨어이다. 즉, 응용프로그램이 요청하는 시스템 자원을 효율적으로 분배하고 관리하는 기능을 한다. 대표적인 운영체제로는 Windows, Mac, UNIX, LINUS가 있다. - 기능 - ① 응용프로그램이 요청하는 메모리를 허가하고 분배 ② 응용프로그램이 요청하는 CPU 시간을 제공 ③ 응용프로그램이 요청하는 입출력 장치 사용 여부.. 2023. 8. 16.