전체 글368 실시간 운영 체제(RTOS) Real Time Operating System (RTOS)는 버퍼 지연 없이 데이터를 처리하는 실시간 애플리케이션을 지원하기 위한 운영 체제이다. 실시간 시스템은 잘 정의된 고정 시간 제약 조건을 가진 시간 제한 시스템이다. 처리 시간 요건은 10분의 1초 또는 짧은 시간 증분으로 측정된다. 정의된 제약조건 안에서 처리를 해야 한다. 그렇지 않으면 시스템이 고장 날 것이다. 그것들은 이벤트 중심적이거나 시간 공유가 된다. 이벤트 기반 시스템은 우선순위에 따라 작업 간에 전환되고 시간 공유 시스템은 클럭 인터럽트를 기반으로 작업을 전환한다. 실시간 OS의 주요 요인은 인터럽트 지연 시간을 최소화하고 스레드 전환 지연 시간을 최소화하는 것이다. 실시간 OS는 주어진 시간 내에 수행할 수 있는 작업의 양보다.. 기술(IT) 2019. 10. 16. RISC(Reduced Instruction Set Computer) RISC(Reduced Instruction Set Computer)는 Instruction Set Architecture를 통해 복잡한 Complex Instruction Set Computer(CISC)보다 명령당 주기가 더 적다. RISC의 정의에 대해서는 여러 가지 제안이 있었지만, 일반적인 개념은 컴퓨터가 복잡하고 전문적인 지시의 큰 집합이 아니라, 단순하고 일반적인 지시의 작은 집합을 가지고 있다는 것이다. 또 다른 일반적인 RISC 특성은 로드스토어 아키텍처인데, 대부분의 명령 일부가 아닌 특정 명령을 통해 메모리에 접근한다. RISC 컨셉 지시 세트 컴퓨터 축소라는 문구에 대한 일반적인 오해는 지시사항이 간단히 제거되어 지시사항이 더 작아진다는 잘못된 생각이다. 실제로 수년 동안 RISC .. 기술(IT) 2019. 10. 15. 임베디드 시스템(Embedded system) 임베디드 시스템은 더 큰 기계 또는 전기 시스템 내에서 전용 기능을 가진 컨트롤러로, 종종 실시간 컴퓨팅 제약이 있는 임베디드 시스템은 오늘날 일반적으로 사용되는 많은 기기를 제어한다. 현대의 임베디드 시스템은 종종 마이크로컨트롤러를 기반으로 하지만, 일반 마이크로프로세서 또한 흔하며, 특히 더 복잡한 시스템에서는 더욱 그러하다. 어느 경우든, 사용되는 프로세서는 일반적인 목적에서 특정 등급의 계산에 특화된 형태에 이르는 유형일 수 있으며, 심지어는 당면한 애플리케이션을 위해 설계된 사용자 정의 유형일 수도 있다. 임베디드 시스템은 특정 업무를 전담하기 때문에 설계 엔지니어는 이를 최적화하여 제품의 크기와 비용을 줄이고 신뢰성과 성능을 높일 수 있다. 일부 임베디드 시스템은 대량 생산되어 규모의 경제에서.. 기술(IT) 2019. 10. 14. 가상기억장치 (Virtual memory) 컴퓨팅에서 가상 메모리는 메모리의 사용자에게 착각을 일으키는특정 시스템에서 실제로 사용할 수 있는 스토리지 자원의 추상화를 제공하는 메모리 관리 기법이다. 프로세스 또는 태스크에서 볼 수 있는 주 저장소는 연속 주소 공간 또는 인접 세그먼트의 집합으로 나타난다. 컴퓨터의 운영 체제는 하드웨어와 소프트웨어를 조합하여 가상 주소라고 하는 프로그램에서 사용하는 메모리 주소를 컴퓨터 메모리의 물리적 주소에 매핑한다. 운영 체제는 가상 주소 공간과 가상 메모리에 대한 실제 메모리의 할당을 관리한다. 흔히 메모리 관리 단위 또는 MMU라고 하는 CPU의 주소 변환 하드웨어는 가상 주소를 자동으로 물리적 주소로 변환한다. 운영 체제 내의 소프트웨어는 실제 메모리의 용량을 초과할 수 있는 가상 주소 공간을 제공하기 위.. 기술(IT) 2019. 10. 13. 컨텍스트 스위치 (Context switch)와 인터럽트(Interrupt) 컨텍스트 스위치 (Context switch) 멀티태스킹 컨텍스트에서, 한 태스크에 대해 시스템 상태를 저장하여 작업을 일시 중지하고 다른 태스크가 재개되도록 하는 프로세스를 말한다. 컴퓨팅에서 컨텍스트 스위치는 프로세스 또는 스레드의 상태를 저장하여 나중에 같은 지점에서 복원하고 실행을 재개하는 과정이다. 이를 통해 여러 프로세스가 하나의 CPU를 공유할 수 있으며, 멀티태스킹 운영 체제의 필수적인 기능이다. 또한 컨텍스트 스위치는 작업이 디스크 스토리지에 액세스해야 하는 경우와 같이 인터럽트의 결과로 발생하여 다른 작업에 대한 CPU 시간을 확보할 수 있다. 일부 운영 체제에서는 사용자 모드와 커널 모드 작업 사이를 이동하기 위해 컨텍스트 스위치가 필요하다. 컨텍스트 전환 프로세스는 수행 중인 스위치.. 기술(IT) 2019. 10. 12. 교착상태 (Deadlock) 교착상태란 각 구성원이 메시지를 보내거나 더 일반적으로 잠금을 해제하는 등의 조치를 취하기 위해 자신을 포함한 다른 구성원이 대기하는 상태를 말한다. 교착상태는 다중 처리 시스템, 병렬 컴퓨팅 및 분산 시스템에서 공통적인 문제로, 소프트웨어와 하드웨어 잠금을 사용하여 공유 자원을 중재하고 프로세스 동기화를 구현한다. 운영 체제에서는 요청된 시스템 자원이 다른 대기 프로세스에 의해 유지되기 때문에 프로세스나 스레드가 대기 상태에 들어갈 때 교착 상태가 발생하며, 이는 다시 다른 대기 프로세스에 의해 보유되는 다른 자원을 기다리고 있다. 만약 프로세스가 요청한 자원이 다른 대기 과정에 의해 사용되고 있기 때문에 무한정 상태를 변경할 수 없다면, 시스템은 교착상태에 있다고 한다. 통신 시스템에서 교착상태는 주.. 기술(IT) 2019. 10. 11. 커널 (Kernel) 커널은 컴퓨터의 운영체제의 핵심인 프로그램으로, 시스템의 모든 것을 제어한다. 소프트웨어의 입력/출력 요청뿐만 아니라 나머지 스타트업도 처리하여 중앙처리장치에 대한 데이터 처리지침으로 변환한다. 대부분 시스템에서 이 프로그램은 시동 시 로드되는 첫 번째 프로그램 중 하나이다. 키보드, 모니터, 프린터와 같은 메모리와 주변기기를 다룬다. 커널은 응용 프로그램 소프트웨어를 컴퓨터의 하드웨어에 연결한다. 커널의 중요 코드는 대개 별도의 메모리 영역에 로딩되는데, 이는 운영 체제의 덜 중요한 다른 부분이나 응용 프로그램 때문에 접근으로부터 보호된다. 커널은 이 보호된 커널 공간에서 프로세스 실행, 하드 디스크와 같은 하드웨어 장치 관리, 인터럽트 처리 등의 작업을 수행한다. 이와는 대조적으로, 브라우저, 워드프.. 기술(IT) 2019. 10. 10. DMA (Direct Memory Access) DMA(Direct Memory Access)는 특정 HW 서브시스템이 중앙처리장치와 독립적으로 주 시스템 메모리에 접속할 수 있도록 하는 컴퓨터 시스템의 기능이다. DMA를 사용하면 CPU가 먼저 전송을 시작하고, 전송이 진행 중인 동안 다른 작업을 수행하며, 작업이 완료되면 최종적으로 DMA 컨트롤러(DMAC)로부터 인터럽트를 수신한다. DMA가 없으면 CPU가 프로그래밍된 입력/출력을 사용할 때 일반적으로 읽기 또는 쓰기 작업의 전체 기간 동안 완전히 사용되므로 다른 작업을 수행할 수 없다. 이 기능은 CPU가 데이터 전송 속도를 따라가지 못하거나 CPU가 상대적으로 느린 I/O 데이터 전송을 기다리는 동안 작업을 수행해야 할 때 유용하다. 많은 하드웨어 시스템은 디스크 드라이브 컨트롤러, 그래픽 .. 기술(IT) 2019. 10. 9. 세마포어(Semaphores) 세마포어는 변수다. 이 변수는 중요한 섹션 문제를 해결하고 다중 처리 환경에서 프로세스 동기화를 달성하는 데 사용된다. 사소한 세마포어는 프로그래머 정의 조건에 따라 변하는 평범한 변수다. 컴퓨터 과학에서 세마포어는 멀티태스킹 운영 체제와 같은 동시 시스템에서 복수의 프로세스에 의해 공통 자원에 대한 접근을 제어하기 위해 사용되는 변수 또는 추상 데이터 유형이다. 실제 시스템에 사용되는 세마포어를 생각할 수 있는 유용한 방법은 특정 자원의 단위를 몇 개 사용할 수 있는지를 기록한 것으로, 단위가 요구되거나 자유로워질 때 안전하게 그 기록을 조정하는 작업과 결합되어 있으며, 필요한 경우 자원의 단위가 이용 가능해질 때까지 기다리는 것이다. 세마포어는 인종 조건의 예방에 유용한 도구지만, 프로그램이 이러한 .. 기술(IT) 2019. 10. 8. CPU 캐시(CPU Cache) 캐시 계층 프로세서의 캐시 계층 현대의 프로세서는 여러 개의 상호 작용하는 온칩 캐시를 가지고 있다. 특정 캐시의 작동은 캐시 크기, 캐시 블록 크기, 집합의 블록 수, 캐시 세트 교체 정책 및 캐시 쓰기 정책)으로 완전히 지정할 수 있다. 특정 캐시의 모든 캐시 블록은 크기가 같고 연관성이 같지만, 일반적으로 하위 레벨 캐시(레벨 1 캐시라고 함)는 블록 수가 적고 블록 크기가 작으며 집합의 블록 수는 적지만 접근 시간이 매우 짧다. 하이거 레벨 캐쉬(즉, 레벨 2 이상)는 점진적으로 블록 수가 많고, 블록 크기가 크며, 집합의 블록 수가 더 많고, 접근 시간이 비교적 길지만, 여전히 메인 메모리보다 훨씬 빠르다. 캐시 항목 교체 정책은 프로세서 설계자가 구현하도록 선택한 캐시 알고리즘에 의해 결정된다. 어떤 경.. 기술(IT) 2019. 10. 7. CPU 캐시(CPU Cache) 주소번역 CPU 캐시 주소번역 대부분의 범용 CPU는 어떤 형태의 가상 메모리를 구현한다. 프로그램은 물리적 주소 공간의 주소가 아닌 가상 주소 공간의 주소로 계산, 비교, 읽기 및 쓰기를 수행하여 프로그램을 더 단순하고 쉽게 만든다. 요약하자면, 시스템에서 실행 중인 각 프로그램은 해당 프로그램에 대한 코드와 데이터만 포함하는 자체적인 단순화된 주소 공간을 보거나 모든 프로그램이 공통 가상 주소 공간에서 실행된다. 가상 메모리를 사용하려면 프로세서가 프로그램에서 생성한 가상 주소를 메인 메모리의 물리적 주소로 변환해야 한다. 이 번역을 하는 프로세서의 부분은 메모리 관리 장치(MMU)로 알려졌다. MMU를 통과하는 빠른 경로는 운영 체제의 페이지 테이블, 세그먼트 테이블 또는 둘 모두의 매핑 캐시인 변환 룩사이.. 기술(IT) 2019. 10. 7. CPU 캐시(CPU Cache) 정책 CPU 캐시는 컴퓨터의 중앙 처리 장치(CPU)가 주 메모리에서 데이터에 접근하는 데 드는 평균 시간을 줄이기 위해 사용하는 하드웨어 캐시다. 대부분의 CPU는 명령과 데이터 캐시를 포함한 서로 다른 독립 캐시를 가지고 있으며, 여기서 데이터 캐시는 일반적으로 더 많은 캐시 수준의 계층으로 구성된다. 캐시는 프로세서 코어에 더 가까운 곳에 위치하는 더 작고 빠른 메모리로, 자주 사용되는 메인 메모리 위치의 데이터 복사본을 저장한다. 모든 최신 CPU는 여러 수준의 CPU 캐시를 가지고 있다. 캐시를 사용하는 첫 번째 CPU는 캐시의 레벨이 한 개밖에 없었다. 이후 레벨 1 캐시와 달리 L1d(데이터용)와 L1i(지침용)로 분할되지 않았다. 캐시가 있는 거의 모든 현재 CPU에는 분할된 L1 캐시가 있다... 기술(IT) 2019. 10. 6. 이전 1 ··· 27 28 29 30 31 다음 추천 글