CS5 [컴퓨터구조] 상호배제(Mutual Exclusion) 뮤텍스(Mutex) & 세마포어 (Semaphore) 동일한 데이터를 동시성 프로그래밍 등으로 인해 여러 프로세스, 여러 스레드가 동시에 접근할 수 있다면, 다른 프로세스에 의해서 변경되거나 삭제된 값으로 인해 다른 프로세스에서 오류가 발생할 수 있다.여러 프로세스가 동시에 접근하는 데이터 영역을 임계 영역(Critical Section)이라고 부르고 이를 최소화할 수 있도록 프로그램을 설계하는 것이 중요하다.동일한 데이터를 여러 프로세스가 동시에 접근해서 사용한다면 오류가 발생할 수 있기 때문에, 한 프로세스가 해당 자원을 사용하고 있을 때 다른 프로세스의 접근을 막는 상호배제(Mutual Exclusion) 방법이 필요하다. 이 상호 배제 방법에는 세마포어와 뮤텍스가 있다. 두 방법 모두 자원에 대해서 mutex, semaphore에 관한 명령어를 호출.. 2025. 3. 10. [컴퓨터구조] CPU 아키텍처 (x86, ARM) CPU 아키텍처를 설명하기 전에 ISA 개념을 알고 있으면 좋을 듯 ISA: Instruction Set Architecture는 CPU가 이해할 수 있는 명령어 집합이다.이게 각각의 CPU 아키텍처마다 다름.따라서 응용 프로그램이 해당 CPU에서 실행될 수 있도록 컴파일 할 때 맞는 CPU의 ISA, CPU 아키텍처에 따라야함. CPU 아키텍처는 CPU의 설계(내부 구성요소, 데이터 버스, 레지스터)와 명령어 집합 (ISA)를 정의한다.이는 다른 하드웨어와 소프트웨어 간의 상호작용에 사용되는 인터페이스 역할을 함 CPU 아키텍처 종류x86 아키텍처 (CISC: Complex Instruction Set Computing 계열)이름대로 복잡하고 다양한 명령어를 지원함. 그래서 한 개의 긴 명령어로 여러 .. 2025. 3. 10. [컴퓨터구조] 캐시 메모리 (개념, 역할, 매핑, 지역성) 캐시 메모리의 개념과 역할에 대해 설명해주세요.데이터를 임시로 저장해두는 메모리디바이스간 처리 속도 차이를 해소하기 위한 버퍼 역할 (주기억장치와 CPU사이에 위치)ex. 한번 사용한 데이터를 캐시에 저장해두고 이후에 동일한 데이터를 불러올 때 하드 디스크에서 불러오지 않아도 되도록 하여 처리 시간을 단축시킴.캐시 성능은 CPU가 호출하는 데이터가 캐시에 저장되어 있는 확률로 결정된다. 따라서 CPU가 호출할 만한 데이터를 어느정도 예측하는 것이 필요함매핑: 캐시 메모리와 주기억장치 사이에서 정보를 옮기는 것직접매핑: 데이터의 원래 주소를 캐시 라인 개수로 나눈 나머지가 가리키는 주소에 저장. 충돌이 자주 발생해서 교체가 잦음. 구현이 쉬움.연관매핑: 캐시 라인에서 빈 곳 아무데나 혹은 빈 곳이 없다면 .. 2025. 3. 10. [알고리즘] 시간복잡도 시간복잡도 (time complexity)입력에 대해 알고리즘이 얼마만큼의 시간을 사용하는지 근사적으로 나타내는 것 표기법Big-O(빅 오) - 상한, Big-Ω(빅 오메가) - 하한, Big-θ(빅 세타) - 정확한 시간복잡도 (이때는 빅오와 빅오메가도 빅 세타와 동일) 자주 사용하는 시간복잡도 (빠른순)O(1) : 상수 시간 알고리즘 | 입력 크기에 영향을 받지 않음. 예) 공식을 사용하여 바로 답을 계산하는 경우O(logN) : 로그 시간 알고리즘 | 단계마다 (입력값 N만큼 단계를 수행한다면) 입력의 크기를 절반씩 줄여가는 계산을 하는 경우. 예) N을 2로 나눠가면서 1이 되는 과정, 이분탐색 (탐색구간을 절반씩 줄여가는 탐색 알고리즘)O(√N) : 제곱근 시간 알고리즘 | 예) ..?O(N) .. 2025. 2. 20. [컴퓨터구조] 컴퓨터 시스템의 CPU, RAM(메모리), 보조 저장 장치, 시스템 버스 컴퓨터 시스템의 CPU, RAM, 저장 장치의 역할과 이들의 상호작용CPU 역할중앙처리장치. 산술논리연산장치, 제어장치, 레지스터로 구성되어 있는 컴퓨터 장치. 메모리에 적재되어 있는 프로세스 명령어를 해석하여 실행함.프로세스 명령을 처리(실행)하는 곳. RAM (메모리) 역할전자회로에서 데이터나 상태, 명령어 등을 기록하는 장치. CPU에서 직접 엑세스 할 수 있음메모리의 크기 = 작업장(책상, 작업대) 크기 (용량이 클 수록 한번에 작업할 수 있는 용량이 늘어남 = 작업 속도가 빨라짐)메모리, 단기 기억 장치, 작업중인(실행되고 있는 작업) 프로세스가 저장되어 있는 곳. 바로 사용해야하는 데이터 저장 (보조) 저장 장치 역할장기 기억 장치, HDD, SSD 등. 비휘발성이며 속도가 낮고 기억 용량이.. 2025. 2. 18. 이전 1 다음 728x90