OS

OS

인터럽트

인터럽트 오늘날의 운영체제는 입출력 시 인터럽트를 이용해 시스템의 효율을 높인다. 인터럽트 처리는 입출력뿐만 아니라 시스템을 보호하는 데 매우 중요한 작업이다. 오늘날의 프로그래밍에서는 버튼이 눌렸는지 안 눌렸는지 주기적으로 확인하는 대신 버튼이 눌리면 프로세스에 알려주는데, 이를 이벤트 드리븐(Event Driven)이라고 한다. 운영체제에서의 입출력 처리도 이와 똑같다. 과거에는 입출력장치가 거의 없었으므로 입출력을 요청하면 운영체제가 주기적으로 입출력장치를 직접 확인해서 처리했다. 이러한 방식을 폴링이라고 한다. 하지만 다양한 입출력장치가 개발되어 운영체제가 모든 입출력을 관리하기 어려워지자 이벤트 드리븐 방식과 마찬가지로 입출력을 요청하고 입출력이 완료되면 이벤트를 발생시켜 이 사실을 알리게 되었..

OS

컴퓨터 성능 향상 기술

이전 시간에 배운 내용 중 상기해야할 부분이 있다. 메모리의 속도는 시스템 버스의 속도와 같고 CPU의 속도는 CPU 내부 버스의 속도와 같다. CPU 내부 버스의 속도가 시스템 버스의 속도보다 빠르기 때문에 메모리를 비롯한 주변장치의 속도가 CPU의 속도를 따라가지 못한다는 것이다. 이번 포스팅에서는 장치 간 속도 차이를 개선하고 시스템의 작업 속도를 올리기 위해 개발된 기술 중 운영체제와 관련된 기술을 공부해보겠다. 버퍼 버퍼는 속도에 차이가 있는 두 장치 사이에서 그 차이를 완화하는 역할을 맡는다. 얘를 들어 창고에 있는 과일 5개를 도마 위로 옮긴다고 생각하자. 한 번에 1개씩 옮기면 총 다섯 번을 왕복한다. 그러나 귤을 바구니에 담아서 옮기면 5개를 한 번에 옮길 수 있어 효율적인데, 바구니를 ..

OS

컴퓨터 구조

컴퓨터는 중앙처리장치(CPU), 메인 메모리, 입력장치, 출력장치, 저장장치로 구성된다. 중앙처리장치와 메인메모리는 필수 장치로 분류된다. 중앙처리장치와 메인메모리 외의 부품은 주변장치라고 한다. CPU와 메모리 CPU는 명령어를 해석하여 실행하는 장치로, 인간으로 치면 두뇌에 해당한다. 메모리는 작업에 필요한 프로그램과 데이터를 저장하는 장소로, 바이트 단위로 분할되어 있으며 분할 공간마다 주소로 구분한다.] CPU CPU는 명령어를 해석하여 실행하는 장치다. CPU는 산술논리 연산장치, 제어장치, 레지스터로 구성되며 이것들의 협업으로 작업을 처리한다. 산술논리연산자 요리사가 재료를 삶거나 찌거나 볶듯이 CPU에서 데이터를 연산하는장치가 산술논리 연산장치다. 산술논리 연산장치는 데이터의 덧셈, 뺄셈, ..

OS

Compiler와 Interpreter 차이

이번에는 Compliler와 Interpreter 차이에 대해 알아보겠습니다. 보통 프로그래머들은 프로그램을 작동시키는 소스코드를 작성할 때 고급 프로그래밍 언어로 작성한다. 고급 프로그래밍 언어는 사람의 입장에서 쉽게 이해 가능한 프로그래밍 언어다. 그러나 컴퓨터는 고급 프로그래밍 언어를 이해할 수 없다. 컴퓨터는 오직 0과 1로 구성된 바이너리 코드만 이해하는데 이를 기계어라고 이해한다. 고급 프로그래밍 언어로 작성된 소스코드를 기계어로 바꾸기 위해서 사용되는 것이 Compiler와 Interpreter이다. Compiler과 Interpreter의 큰 역할은 같지만 작동 방식에서 차이가 있다. 이제 그 차이에 대해 알아보겠다. 참고 원시 코드 - 고급 프로그래밍 언어로 작성된 소스 코드, 프로그래머..

Debin
'OS' 카테고리의 글 목록