728x90

CS 188

프로세스 & 스레드

프로세스 & 스레드프로세스 : 프로그램을 메모리 상에서 실행중인 작업스레드 : 프로세스 안에서 실행되는 여러 흐름의 단위기본적으로 프로세스마다 최소 1개의 스레드를 소유하고 있다.(메인 스레드 포함)주소 공간프로세스는 각각 별도의 주소공간을 할당한다.(독립적)Code : 코드 자체를 구성하는 메모리 영역(프로그램 명령)Data : 전역변수, 정적변수, 배열 등초기화 된 데이터는 data 영역에 저장된다.초기화 되지 않은 데이터는 bss 영역에 저장된다.Heap : 동적 할당 시 사용한다.(new(), malloc() 등)Stack : 지역변수, 매개변수, 리턴 값(임시 메모리 영역)스레드는 Stack만 따로 할당 받고 나머지 영역은 서로 공유한다.하나의 프로세스가 생성될 떄, 기본적으로 하나의 스레드가 ..

Computer/CS 2024.06.28

운영체제(OS, Operationg System)

운영체제(OS, Operationg System)하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어라고 할 수 있다.운영체제의 역할프로세스 관리프로세스, 스레드스케줄링동기화IPC 통신저장장치 관리메모리 관리가상 메모리파일 시스템네트워킹TCP/IP기타 프로토콜사용자 관리계정 관리접근권한 관리디바이스 드라이버순차접근 장치임의접근 장치네트워크 장치1. 프로세스 관리운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다.현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에 할..

Computer/CS 2024.06.28

24.06.28 CS

CS운영체제(OS, Operationg System)하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어라고 할 수 있다.운영체제의 역할프로세스 관리프로세스, 스레드스케줄링동기화IPC 통신저장장치 관리메모리 관리가상 메모리파일 시스템네트워킹TCP/IP기타 프로토콜사용자 관리계정 관리접근권한 관리디바이스 드라이버순차접근 장치임의접근 장치네트워크 장치1. 프로세스 관리운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다.현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에..

패리티 비트 & 해밍 코드

패리티 비트 & 해밍 코드패리티 비트정보 전달 과정에서 오류가 생겼는 지 검사하기 위해 추가하는 비트를 말한다.전송하고자 하는 데이터의 각 문자에 1비트를 더하여 전송한다.종류짝수, 홀수전체 비트에서 (짝수, 홀수)에 맞도록 비트를 정하는 것해밍 코드데이터 전송 시 1비트의 에러를 정정할 수 있는 자기 오류정정 코드를 말한다.패리티 비트를 보고, 1비트에 대한 오류를 정정할 곳을 찾아 수정할 수 있다.(패리티 비트는 오류를 검출하기만 할 뿐 수정하지는 않기 때문에 해밍 코드를 활용한다)방법2의 n승 번째 자리인 1,2,4번째 자릿수가 패리티 비트라는 것으로 부터 시작한다. 이 숫자로부터 시작하는 세개의 패리티 비트가 짝수인지, 홀수인지 기준으로 판별한다.짝수 패리티의 해밍 코드가 0011011일때 오류가..

Computer/CS 2024.06.27

고정 소수점 & 부동 소수점

고정 소수점 & 부동 소수점컴퓨터에서 실수를 표현하는 방법은 고정 소수점과 부동 소수점 두가지 방식이 존재한다.고정 소수점(Fixed Point)소수점이 찍힐 위치를 미리 정해놓고 소수를 표현하는 방식(정수 + 소수)ex) -3.14의 경우 부호(-)와 정수부(3), 소수부(0.141592) 3가지 요소가 필요하다.장점실수를 정수부와 소수부로 표현하여 단순하다.단점표현의 범위가 너무 적어서 활용하기 힘들다. (정수부는 15bit, 소수부는 16bit)부동 소수점(Floating Point)실수를 가수부 + 지수부로 표현한다.가수 : 실수의 실제값 표현지수 : 크기를 표현한다. 가수의 어디쯤에 소수점이 있는지 나타낸다.지수의 값에 따라 소수점이 움직이는 방식을 활용한 실수 표현 방법이다. 즉, 소수점의 위..

Computer/CS 2024.06.27

24.06.27 CS

CS캐시 메모리(Cache Memory)속도와 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리를 뜻한다.CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용한는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도를 향상시킨다.속도라는 장점을 얻지만, 용량이 적기도 하고 비용이 비싼 점이 있다.캐시 메모리 작동 원리시간 지역성for나 while 같은 반복문에 사용하는 조건 변수처럼 한번 참조된 데이터는 잠시 후 또 참조될 가능성이 높다.공간 지역성A[0], A[1]과 같은 연속 접근 시, 참조된 데이터 근처에 있는 데이터가 잠시후 또 사용될 가능성이 높다.캐시 미스 경우 3가지Cold miss해당 메모리 주소를 ..

중앙처리장치(CPU) 작동원리

중앙처리장치(CPU) 작동원리CPU는 컴퓨터에서 가장 핵심적인 역할을 수행하는 부분이다.크게 연산장치, 제어장치, 레지스터 3가지로 구성된다.연산 장치산술연산과 논리연산을 수행한다.연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보낸다.제어 장치명령어를 순서대로 실행할 수 있도록 제어하는 장치주기억장치에서 프로그램 명령어를 꺼내 해독하고, 그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보낸다. 또한 이들 장치가 보낸 신호를 받아, 다음에 수행할 동작을 결정한다.레지스터고속 기억장치다. 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장한다.용도에 따라 범용 레지스터와 특수목적 레지스터로 구분된다. 중앙처리장치 종류에 따..

Computer/CS 2024.06.26

24.06.26 CS

24.06.26 CSCS중앙처리장치(CPU) 작동원리CPU는 컴퓨터에서 가장 핵심적인 역할을 수행하는 부분이다.크게 연산장치, 제어장치, 레지스터 3가지로 구성된다.연산 장치산술연산과 논리연산을 수행한다.연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보낸다.제어 장치명령어를 순서대로 실행할 수 있도록 제어하는 장치주기억장치에서 프로그램 명령어를 꺼내 해독하고, 그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보낸다. 또한 이들 장치가 보낸 신호를 받아, 다음에 수행할 동작을 결정한다.레지스터고속 기억장치다. 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장한다.용도에 따라 범용 레지스터와 특수목적 레지스터로 구분된다...

컴퓨터의 구성

컴퓨터의 구성컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나누어진다.하드웨어 : 컴퓨터를 구성하는 기계적 장치소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어 집합하드웨어중앙처리장치(CPU)주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명ㅇ령어의 수행순서를 제어한다.중앙처리장치는 비교와 연산을 담당하는 산술논리 연산장치(ALU)와 명령어의 해석과 실행을 담당하는 제어장치, 속도가 빠른 데이터 기억장소인 레지스터로 구성 되어 있다.기억장치 : RAM, HDD프로그램, 데이터, 연산의 중간 결과를 저장하는 장치주 기억장치와 보조 기억장치로 나누어지며, RAM과 ROM도 이곳에 해당한다. 실행중인 프로그램과 같은 프로그램에 필요한 데이터를 일시적으로 저장한다.보조기억장치는 하드디스크 등을 말..

Computer/CS 2024.06.25

24.06.25 알고리즘, CS

알고리즘다익스트라(Dijkstra)DP를 활용한 최단 경로 탐색 알고리즘다익스트라 알고리즘은 특정한 정점에서 다른 모든 정점으로 가는 최단 경로를 기록한다. DP가 적용되는 이유는, 한 번 최단 거리를 구한 곳은 다시 구할 필요가 없기 때문이다. 이를 활용해 정점에서 정점까지 간선을 따라 이동할 때 최단 거리를 효율적으로 구할 수 있다.다익스트라를 구현하기 위해 두 가지를 저장해야 한다.해당 정점까지의 최단 거리를 저장한다.정점을 방문했는 지 저장한다.시작 정점으로부터 정점들의 최단 거리를 저장하는 배열과, 방문 여부를 저장하는 것이다.과정최단 거리 값은 무한대 값으로 초기화한다.시작 정점의 최단 거리는 0이다. 그리고 시작 정점을 방문 처리한다.시작 정점과 연결된 정점들의 최단 거리 값을 갱신한다.방문..

728x90