CS 지식

CS 지식/운영체제

[CS] 인터럽트

인터럽트 (Interrupt) 인터럽트는 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우, 현재 실행 중인 작업을 즉시 중단하고 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것입니다. 하드웨어 장치가 CPU에게 어떤 사실을 알려주거나 CPU의 서비스를 요청해야할 경우, CPU 내에 있는 인터럽트 라인을 세팅하여 인터럽트를 발생시킨다 CPU는 매번 프로그램 카운터(PC)가 가리키는 명령어를 수행한 뒤, 다음 명령을 수행하기 전에 인터럽트 라인이 세팅되었는지 체크합니다. 이를 통해 인터럽트가 발생했으면 CPU는 현재 수행 중이던 프로세스를 멈추고 운영체제의 인터럽트 처리 루틴으로 이동하여 처리힙니다. 인터럽트의 종류 1. 하드웨어 인터럽트 (외부 인터럽트) 하드웨어 컨트롤러가 CPU..

CS 지식/운영체제

[CS] 프로세스와 스레드

프로세스 (Process) 프로세스는 실행 중인 프로그램으로 디스크로부터 메모리에 적재되어 CPU의 할당을 받은 작업을 말합니다. 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이것들을 총칭하여 프로세스라고 합니다. 기본적으로 프로세스마다 최소 1개의 스레드를 갖습니다. (메인 스레드) 프로세스는 각각 별도의 메모리 영역(주소 공간)을 할당받습니다. Code : 코드 자체를 구성하는 메모리 영역 (프로그램 명령) Data : 전역변수, 정적변수, 배열 등 (초기화된 데이터) / 초기화되지 않은 데이터는 Bss 영역에 저장 Heap : 동적 할당 시 사용 (new(), malloc() 등) Stack : 지역변수, 매개변수, 리턴 값 등 (임시 메모리 영역) 하나의 프로세스는 다른 프로세스의 변..

CS 지식/운영체제

[CS] 운영체제

운영체제 (OS, Operating System) 운영체제는 하드웨어를 관리하고 컴퓨터 시스템의 자원들을 효율적으로 관리합니다. 또한, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해줍니다. 즉, 운영체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어라고 할 수 있습니다. 운영체제의 역할 1. 프로세스 관리 운영체제에서 작동하는 응용 프로그램 혹은 프로세서(CPU)를 관리하는 기능을 뜻합니다. 현재 CPU를 점유해야 할 프로세스를 결정하고 실제로 CPU를 프로세스에 할당합니다. 또한, 이 프로세스 간 공유 자원 접근과 통신 등을 관리하게 됩니다. 2. 저장장치 관리 1차 저장장치에 해당하는 메인 메모..

CS 지식/컴퓨터구조

[CS] ARM과 MIPS

ARM (Advanced RISC Machines) ARM은 세계에서 가장 광범위하게 사용되는 CPU 체계의 한 종류입니다. 이는 RISC라는 명령어 체계를 이용하는 프로세서이고 주로 사물 인터넷, 모바일 안드로이드, 랩탑, 인터넷 모뎀, 디지털카메라, 닌텐도 등 임베디드 기기에 많이 사용되고 있습니다. ARM의 구조 ARM은 칩의 기본 설계 구조만 만들고, 실제 기능 추가와 최적화 부분은 개별 반도체 제조사의 영역으로 맡깁니다. 그래서 물리적 설계는 같아도 명령 집합이 모두 다르기 때문에 서로 다른 칩이 되기도 합니다. ARM은 RISC 설계 기반으로 '단순한 명령집합을 가진 프로세서가 복잡한 것보다 효율적'임을 기반하기 때문에 명령 집합과 구조 자체가 단순합니다. 이에 따라 ARM 기반 프로세서가 더..

CS 지식/컴퓨터구조

[CS] 패리티 비트와 해밍 코드

패리티 비트 (Parity Bit) 패리티 비트는 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 추가되는 비트를 말합니다. 하나의 문자 또는 수는 8비트로 표현되는데 ASCII Code(7비트)와 Parity Bit(1비트)로 구성되어 있습니다. 패리티 비트를 포함한 데이터에서 1의 개수가 짝수인지 홀수인지에 따라 짝수 패리티 또는 홀수 패리티로 나눌 수 있습니다. 홀수 패리티: 1의 개수가 홀수개가 되도록 패리티 비트를 설정한다. 짝수 패리티: 1의 개수가 짝수개가 되도록 패리티 비트를 설정한다. 이렇게 패리티 비트를 정하여 데이터를 보내면, 데이터를 받는 쪽에서는 수신된 데이터의 전체 비트를 계산하여 패리티 비트를 다시 계산하는 것으로 데이터에 오류가 발생했는지를 확인할 수 있습니다. 그러나,..

CS 지식/컴퓨터구조

[CS] 고정 소수점과 부동 소수점

고정 소수점 (Fixed Point)고정 소수점 표현 방식은 소수점의 위치를 고정해놓고 소수를 표현하는 방식입니다.예를 들어 32비트를 사용하는 경우, 앞의 16비트는 정수 부분과 부호 부분을 표현하고 나머지 16비트는 소수 부분을 표현합니다.즉, 소수점의 위치를 고정시켜서 정수를 표현하는 부분과 소수를 표현하는 부분을 나눈다는 것입니다. 고정 소수점 표현 방식은 숫자 표현이 간단하기 때문에 구현하기가 편하고 연산 속도가 빠릅니다.하지만, 표현 가능한 수의 범위가 적어서 활용하기 힘듭니다.따라서, 컴퓨터에서는 이 방식을 잘 사용하지 않습니다. 부동 소수점 (Floating Point)부동 소수점 표현 방식은 소수점의 위치를 고정시키지 않고 가수와 지수를 사용해 실수를 표현합니다.여기서 가수는 유효숫자를 ..

CS 지식/컴퓨터구조

[CS] 캐시 메모리

캐시 메모리 캐시 메모리는 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리입니다. 캐시 메모리는 고속 기억 장치라고 불리며, 시간을 절약하기 위해 데이터를 임시로 저장할 수 있습니다. CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도를 향상시킬 수 있습니다. 캐시 메모리의 작동 원리 시간 지역성 : 반복문에 사용하는 조건 변수처럼 한번 참조된 데이터는 잠시 후 또 참조될 가능성이 높음 공간 지역성 : A[0], A[1]과 같은 연속 접근처럼 참조된 데이터 근처에 있는 데이터는 잠시 후 또 참조될 가능성이 높음 캐시 메모리에 데이터를 저장할 때는, ..

CS 지식/컴퓨터구조

[CS] 컴퓨터의 구성

컴퓨터 시스템 컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나누어진다. 하드웨어 : 컴퓨터를 구성하는 기계적 장치 소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어 집합 하드웨어 하드웨어는 크게 3가지 중앙처리장치(CPU), 기억장치(Memory), 입/출력장치(I/O)로 구성되어 있습니다. CPU를 연산 장치, 제어 장치로 나눌 수 있고 기억 장치, 입력 장치, 출력 장치까지를 컴퓨터 5대 구성 요소라고 부르기도 합니다. 시스템 버스는 각 요소들과 연결되어 있고 데이터와 명령 제어 신호를 각 장치로 실어 나릅니다. 중앙처리장치 : CPU 기억장치 : RAM, HDD, SSD 등 입/출력장치 : 마우스, 키보드, 프린터 등 소프트웨어 소프트웨어는 하드웨어의 동작을 지시하고 제어하는 명령어 집합으로..

damon-911
'CS 지식' 카테고리의 글 목록 (4 Page)