본문 바로가기

Computer Science6

스레드(Thread) 스레드는 프로세스보다 작은 최소 실행 단위로, 개별의 스택 영역 메모리를 갖고 나머지 코드, 데이터, 힙 영역은 공유하는 구조를 갖는다. 자원을 공유하기 때문에 동기화에 대한 리스크가 있고 스레드를 강제 종료할 경우 다른 스레드에 영향을 줄 수 있다. 프로세스 내에서 여러개의 스레드를 사용하여 병렬 처리를 구현하는 기술이다. Multi-processing과는 조금 다르게 하나의 코어에서의 효율을 극대화하는 데에 중점을 두는 방식이다. 1. 장점 - 응답성 증가 : 긴 작업을 수행하거나 몇몇 작업이 일시중단되더라도 사용자와의 상호작용이 가능해져 응답성이 증가한다. - 자원 공유 : 개별의 스택영역을 제외하고 프로세스의 메모리 영역을 스레드 간에 공유하기 때.. 2021. 7. 11.
프로세스(Process) 메모리상에서 연속적으로 실행되고 있는 컴퓨터 프로그램 - 생성(Create) : 프로세스가 생성되고 있는 상태 - 실행(Running) : 프로세스가 CPU를 점유하여 명령어들이 실행되는 상태 - 준비(Ready) : CPU를 점유하고 있지 않지만 언제든지 사용가능하여 점유를 기다리는 상태 - 대기(Waiting) : 프로세스가 입출력 완료 및 시그널 수신과 같은 이벤트를 기다리는 상태 - 종료(Terminated) : 프로세스가 종료된 상태 2021. 7. 8.
CPU 레지스터 CPU는 빠른 연산을 위해 아주 작지만 빠른 저장공간인 레지스터를 사용하여 명령을 수행한다. - IR(Instruction Register) : 인출되어 실행 중인 명령어가 저장되는 레지스터. - AC(Accumulator) : 연산 결과가 일시적으로 저장되는 레지스터. - PC(Program Counter) : 다음 인출될 명령어 주소를 가리키는 레지스터. - MAR(Memory Address Register) : PC에 저장된 명령어 주소가 일시적으로 저장되는 레지스터. - MBR(Memory Buffer Register) : 처리될, 처리된 데이터가 일시적으로 저장되는 레지스터. 2021. 6. 22.
수의 표현 컴퓨터는 2진수로 모든 수를 표현하는데, CPU의 한정된 비트수로 양수부터 음수까지 모두 표현하기 위해 다양한 표현기법을 사용한다. 1. 음의 정수( 2의 보수 표현법 ) : CPU는 연산할 때 비트수를 정해놓고 해야하는데, 결과값이 제한을 넘어가면 그 비트를 버린다. 이런 특성을 바탕으로 최상위 비트를 부호비트로 사용하고 나머지 비트로 양의 정수를, 2의 보수로 음의 정수를 표현한다. ex) 7 -> 0111 , -7 -> 1001 , 7+(-7) = 1 0000 -> 0 2. 실수 : 실수는 부동소수점(Floating Point) 방식으로 표현하는데, 이는 가수, 밑, 지수로 표현하는 방식이다. ex) ±1.56 x 10^-3 여기서 이진법을 사용하기 때문에 밑은 2로 고정되어 최상위 부호비트와 가수.. 2021. 6. 21.