Computer Science/Operating System20 Cache, 캐시 Cache, 캐시 캐시의 등장 배경 컴퓨터는 꾸준한 발전으로 인해 프로세서(CPU)는 성능이 매우 높아졌지만, 메인 메모리(DRAM)은 프로세서의 발전 속도를 따라가지 못했다. 메모리는 속도보다 메모리 자체 용량을 늘리는 것을 목표로 했기 때문에 성능 면에서 차이가 난 것이다. 따라서 프로세서가 아무리 빨라도 계산에 필요한 데이터를 가져오기 위해서는 상대적으로 느린 메인 메모리에 접근해야 했고, 이 때문에 CPU가 메모리를 기다려야 하는 병목 현상이 발생하며 이로써 전체적인 시스템 성능 향상에 한계가 생겼다. 그래서 CPU와 메인 메모리 사이에 캐시(SRAM)를 두어, CPU와 메인 메모리 사이의 속도 간극을 줄여주는 완충재 역할로 자리잡게 된 것이다. 캐시란? 💡 캐시(cache)란, 자주 사용하는 데.. 2024. 1. 11. 인터럽트, Interrupt 인터럽트, Interrupt 인터럽트란 CPU가 특정 기능을 수행하는 도중에 급하게 다른 일을 처리하고자 할 때 사용할 수 있는 기능이다. 대부분 컴퓨터는 한 개의 CPU를 사용하므로 한 순간에는 하나의 일 밖에 처리할 수 없다. 따라서 어떤 일을 처리하는 도중에 우선 순위가 급한 일을 처리할 필요가 있을 때, 인터럽트를 사용할 수 있다. 인터럽트 종류 일반적으로 사용되는 인터럽트는 다음과 같이 크게 두 가지로 나눠볼 수 있다. 외부 인터럽트 === 하드웨어 인터럽트 입출력 장치, 타이밍 장치, 전원 등의 하드웨어와 같이 외부적인 요인에 의해서 발생하는 인터럽트이다. 전원 이상 인터럽트 : 정전이나 전원에 이상이 있는 경우 기계 고장 인터럽트 : CPU 등의 기능적인 동작 오류가 발생한 경우 입출력 인터.. 2023. 11. 22. 프로세스와 스레드, 멀티 프로세스와 멀티 스레드 프로그램 프로그램이란 어떤 작업을 위해 실행할 수 있는 파일이다. 프로세스 프로세스란 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적 개체)를 말한다. 운영체제로부터 시스템 자원을 할당받는 작업의 단위이다. 여기서 시스템 자원이란 다음과 같다. CPU 시간 주소 공간 메모리 공간 : Code, Data, Stack, Heap으로 이루어진 구조 Code 코드 자체를 구성하는 메모리 영역 Data 초기화된 데이터 전역변수, 정적 변수, 배열 Stack 임시 메모리 영역 지역변수, 매개변수, 리턴 값 Heap 동적 할당 시 사용 new(), malloc() 기본적으로 프로세스마다 적어도 하나의 스레드를 가진다. 스레드 스레드란 프로세스 안에서 실행되는 여러 흐름 단위를 말한다. 스레드의 경우에는 St.. 2023. 11. 6. 운영체제(OS, Operating System)란 운영체제(OS, Operating System) 하드웨어와 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다. 즉, 운영체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어이다. 운영체제의 구조 운영체제는 커널과 인터페이스로 구성되어 있다. 커널은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것으로, 운영체제의 성능을 좌우한다. 인터페이스는 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할을 한다. 운영체제는 커널과 인터페이스를 분리하여 같은 커널을 사용하더라도 다른 인터페이스를 가질 수 있다. 인터.. 2023. 11. 6. 이전 1 2 3 4 5 다음