CS 지식
-
(4) 인터럽트CS 지식/○ OS(Operating System) 2021. 6. 15. 00:14
1. 인터럽트란? 1-1) 정의 프로그램을 실행하는 도중에 예기치 않은 상황이 발생환 경우 지금 실행중인 작업을 즉시 중단하고, 발생된 상황을 우선 처리한 후 실행중인 작업으로 복귀하여 계속 처리하는 것 1-2) 우선순위로 처리되는 일 1) 입출력 2) 우선순위 연산 등등.... 1-3) 인터럽트 종류 외부 인터럽트 [CPU 하드웨어 신호에 의해 발생] 전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등 기계 착오 인터럽트(Machine check interrupt) : CPU의 기능적인 오류 외부 신호 인터럽트(External interrupt) - 타이머에 의한 인터럽트 : Preemptive개념을 생각하면 된다. 자원이 할당된 시간이 다 끝난 경우 - 키보드..
-
(3) 프로세스 주소 공간CS 지식/○ OS(Operating System) 2021. 6. 13. 22:54
1. 프로세스 주소란? 1-1) 정의 프로그램이 CPU에 의해 실행되고 난 후 프로세스가 생성되고 메모리에 프로세스 주소 공간이 할당됨 > 프로세스 메모리 공간은 다음과 같이 이루어져 있음 1-2) 메모리 구성 코드 Segment : 프로그램 소스 코드 저장 데이터 Segment : 전역변수 저장 - 전역변수, static(Java/C) 로 할당되는 영역, 어디서든 접근 가능 - 프로그램 시작과 동시에 할당, 프로그램 종료되어야 메모리에서 소멸 - [예시▼] 더보기 #include int a = 10; // 데이터 영역에 할당 int b = 20; // 데이터 영역에 할당 int main() { ... return 0; } 위와 같은 코드에서 int형 변수 a, b는 프로그램 실행시 main 함수가 호출..
-
(2) 프로세스 & 스레드CS 지식/○ OS(Operating System) 2021. 6. 12. 23:05
1. 프로세스와 스레드 1-1) 정의 (a) 프로세스 : 메모리 상에서 실행중인 프로그램의 작업 (b) 스레드 : 프로세스 안에서 실행되는 여러 흐름의 단위 1-2) 기본 개념 (a) 프로세스-스레드 관계 기본적으로 프로세스마다 최소 1개의 스레드 보유 (메인 스레드 포함) == 하나의 프로세스가 생성될 때 기본적으로 하나의 스레드 같이 생성 (b) 프로세스의 특징 프로세스는 각각 별도의 주소 공간 할당, 서로 독립적이다 (완전 개별) Code : 코드 자체를 담고 있는 메모리 영역(프로그램 명령) Data : 전역변수, 정적변수, 배열 등 (초기화 된 데이터) Heap : 동적 할당시 사용 (new(), mallock()) Stack : 지역변수, 매개변수, 리턴 값 (임시 메모리 영역) > 프로세스의..
-
(1) 운영체제란?CS 지식/○ OS(Operating System) 2021. 6. 10. 18:15
1. 운영체제란? 1-1) 정의 하드웨어를 관리하고, 응용프로그램과 하드웨어 사이에서 인터페이스 역할을 하며, 시스템의 자원을 관리하고 동작을 제어하는 시스템 소프트웨어 ※ 소프트웨어 - 응용소프트웨어 = 시스템 소프트웨어 + 컴파일러 2. 운영체제의 큰 틀 2-1) 프로세스 관리 프로세스, 쓰레드 스케쥴링 동기화 IPC 통신 2-2) 저장장치 관리 메모리 관리 가상 메모리 파일 시스템 2-3) 네트워킹 TCP/IP 기타 프로토콜 2-4) 사용자 관리 계정 관리 접근권한 관리 2-5) 디바이스 드라이버 순차접근 장치 임의접근 장치 네트워크 장치 3. 프로세스 관리 3-1) 정의 운영체제에서 작동하는 응용 프로그램(소프트웨어)들을 관리하는 기능 > 즉 CPU를 관리하는 것 어떤 프로그램/프로세스가 현재 C..
-
(5) 패리티 비트 & 해밍 코드CS 지식/○ CA(Computer Architecture) 2021. 6. 9. 21:47
1. 패리티 비트란? 1-1) 정의 정보 전달 과정에서 오류가 생겼는지 검사하기 위해 추가하는 비트 > 전송하고자 하는 데이터의 "각 문자"에 지정위치에 1 비트를 더하여 전송 > 비트를 더해주는 자리는 미리 약속 1, 2, 4, 8 ... 2^n 자리수를 패리티 비트 자리로 지정 데이터는 그 빈자리 사이에 배치 전송하고자 하는 대상이 bit으로 변환될 수 있을 것 (string, JSON ....등) ■ 패리티 비트 구하는 공식 2^p >= d + p + 1 where p : 패리티 비트의 수 d : 데이터 비트의 수 ■ 패리티 비트 추가 1) 패리티 비트 최소 개수를 구함 2) 자리수에 패리티 비트 배치 3) 나머지 자리에 원본 데이터 비트 배치 1-2) 패리티 비트 타입 전체 비트에서 (짝수, 홀수..
-
(4) 고정 소수점 & 부동 소수점CS 지식/○ CA(Computer Architecture) 2021. 6. 9. 20:43
1. 고정 소수점 & 부동 소수점 1-1) 정의 컴퓨터에서 실수의 소수부분 표현하는 방식 2. 고정 소수점(Fixed Point) 2-1) 정의 소수점이 찍힐 위치를 미리 정해놓고 소수부를 표현하는 방식 ( 정수 + 소수 ) -3.141592는 부호(-)와 정수부(3), 소수부(0.141592) 3가지 요소 필요함 2-2) 장단점 장점 : 실수를 부호 + 정수 + 소수부로 표현하여 단순 단점 : 표현 범위가 너무 적어서 확용하기 힘듦(소수부 고작 16bit) 3. 부동 소수점(Floating Point) 3-1) 정의 지수의 값에 따라 소수점이 움직이는 방식을 활용한 실수 표현방법 즉, 소수점의 위치가 고정되어있지 않음 → 표현시에 계산을 한다는 말인 듯 실수를 가수부 + 지수부로 표현한다. 가수 : 실..
-
(3) 중앙처리장치 작동 원리CS 지식/○ CA(Computer Architecture) 2021. 6. 8. 19:30
1. 중앙처리장치란? aka) CPU 컴퓨터 연산에서 가장 핵심적인 역할을 수행 > 다음의 구성으로 이루어짐 연산잔치 제어장치 레지스터 - 캐시 메모리랑은 다름 설명 링크 : link 2. 구성의 세부설명 2-1) 연산장치 산술연산과 논리연산 수행 (= 산술 논리연산장치 라고도 불림) 연산에 필요한 데이터를 레지스터에서 가져오고, 연산결과를 다시 레지스터로 보냄 (레지스터 보다 윗단, 실제 연산이 일어나는 곳) 레지스터 : 연산 in/out put의 창구같은 개념 2-2) 제어장치 명령어를 순서대로 실행할 수 있도록 하는 제어장치 주기억장치(RAM, ROM)에서 프로그램 명령어를 꺼내오고 해독 → 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보냄 2-3) 레지스터 고속..
-
(2) 캐시 메모리CS 지식/○ CA(Computer Architecture) 2021. 6. 7. 00:12
1. 캐시 메모리란? 1-1) 정의 속도가 빠른 장치와 느린 장치 사이에서의 병목현상을 줄이기 위한 메모리(방식)를 지칭 ex1) CPU 코어와 메모리 사이의 병목현상 완화 ex2) 웹 브라우저 캐시파일 - 하드디스크와 웹페이지 사이의 병목현상 완화 1-2) 동작 원리 자주 사용하는 데이터를 캐시 메모리에 저장하고, 다음 사용시 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도 향상 1-3) CPU의 캐시 메모리 1) 보통 2~3개의 캐시 메모리가 사용된다 (L1, L2, L3 캐시 메모리라고 부름) 2) L1 캐시가 먼저 사용되고, 가장 빠른 순서로 L1 ~ L3까지 사용되며 L1에서 데이터를 찾지 못하면 L2, L3 차순으로 넘어감 1-4) 듀얼 코어 캐시 메모리 1) 각 코어마다 독립 L1 캐..
-
(1) 컴퓨터의 구성CS 지식/○ CA(Computer Architecture) 2021. 6. 2. 23:09
1. 컴퓨터 구성 1-1) 하드웨어 - 정의 : 컴퓨터를 구성하는 기계적 장치 중앙처리장치 CPU > 2)의 주기억장치에서 명령어 / 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어 - 산술논리연산장치(ALU) : 비교 + 연산 담당 - 제어장치 : 명령어 해석 + 실행 - 레지스터 : CPU 전용 높은 처리속도(캐시)를 가진 데이터 기억저장소 기억장치 : RAM, HDD - 프로그램, 데이터, 연산 결과 등을 저장하는 장치 - 주기억장치 + 보조기억장치 - 주기억장치 : RAM / ROM, 프로그램 데이터 일시 보관 - 보조기억장치 : HDD, 자료의 반영구적 보존 입출력장치 : 마우스, 프린터, 모니터 등등 1-2) 소프트웨어 - 정의 : 하드웨어 동작을 지시하고 제어하는 명령어 집합 시스템 소프..
-
CS - 공부 참조CS 지식/Common 2021. 5. 23. 21:31
다음을 주로 참조 1) https://gyoogle.dev/blog/ 👨🏻💻 Tech Interview gyoogle.dev 2) https://github.com/JaeYeopHan/Interview_Question_for_Beginner JaeYeopHan/Interview_Question_for_Beginner :boy: :girl: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: - JaeYeopHan/Interview_Question_for_Beginner github.com