CS 지식
-
운영체제란?사용자의 컴퓨터와 컴퓨터 하드웨어 사이에서 중개 역할을 하는 프로그램운영체제의 목표:사용자 프로그램을 실행하고 사용자 문제 해결을 더 쉽게 만든다.사용자가 프로그램을 실행할 수 있는 환경을 제공한다.컴퓨터 시스템을 더 편리하게 사용할 수 있도록 한다.(편리성; convenience)컴퓨터 하드웨어를 더 효율적으로 사용한다.(효율성; efficiency) 컴퓨터 시스템 구조컴퓨터 시스템은 네 가지 구성 요소로 나눌 수 있다:하드웨어(Hardware) - 기본적인 컴퓨팅 자원을 제공한다.CPU, 메모리, I/O장치운영체제(Operating system)여러 애플리케이션과 사용자 사이에서 하드웨어 사용을 제어하고 조정한다.애플리케이션 프로그램(Application Programs) - 시스템 자원..
[운영체제 | OS] 1. 운영체제 시작운영체제란?사용자의 컴퓨터와 컴퓨터 하드웨어 사이에서 중개 역할을 하는 프로그램운영체제의 목표:사용자 프로그램을 실행하고 사용자 문제 해결을 더 쉽게 만든다.사용자가 프로그램을 실행할 수 있는 환경을 제공한다.컴퓨터 시스템을 더 편리하게 사용할 수 있도록 한다.(편리성; convenience)컴퓨터 하드웨어를 더 효율적으로 사용한다.(효율성; efficiency) 컴퓨터 시스템 구조컴퓨터 시스템은 네 가지 구성 요소로 나눌 수 있다:하드웨어(Hardware) - 기본적인 컴퓨팅 자원을 제공한다.CPU, 메모리, I/O장치운영체제(Operating system)여러 애플리케이션과 사용자 사이에서 하드웨어 사용을 제어하고 조정한다.애플리케이션 프로그램(Application Programs) - 시스템 자원..
2023.01.23 -
Introduction CPU가 CPU로써 기능을 가지려면 3 종류의 기능은 반드시 갖춰야 한다. data processing(ALU) data move(load, store) flow control(branch, jump) extra... 이번 포스팅에선 3가지의 instructions을 정의해 볼 것이다. 시작에 앞서 자주 나오는 궁금증에 대해 말해보겠다. Q) memory에서 값을 가져오는데 memory를 적는 부분에 왜 register 주소($)를 사용하는가? A) $2 위치에 7000번지를 넣는다고 하고 아래와 같은 코드를 적으면 $2에 10을 더하는 것은 7000에 10을 더하여 7010번지 memory에 load하는 것과 같은 의미가 된다. 이 때의 $2를 base address라고 한다. ..
[컴퓨터구조] 5. Register(레지스터)와 Memory(메모리)Introduction CPU가 CPU로써 기능을 가지려면 3 종류의 기능은 반드시 갖춰야 한다. data processing(ALU) data move(load, store) flow control(branch, jump) extra... 이번 포스팅에선 3가지의 instructions을 정의해 볼 것이다. 시작에 앞서 자주 나오는 궁금증에 대해 말해보겠다. Q) memory에서 값을 가져오는데 memory를 적는 부분에 왜 register 주소($)를 사용하는가? A) $2 위치에 7000번지를 넣는다고 하고 아래와 같은 코드를 적으면 $2에 10을 더하는 것은 7000에 10을 더하여 7010번지 memory에 load하는 것과 같은 의미가 된다. 이 때의 $2를 base address라고 한다. ..
2023.01.11 -
Introduction Jumping up a few levels of abstraction 추상화(abstraction)의 몇가지 단계에 대해서 알아볼 것이다. Architecture(아키텍쳐): 컴퓨터를 바라보는 프로그래머(혹은 software)의 관점 instruction과 연산 위치에 의해 결정됨 Microarchitecture(마이크로아키텍쳐): hardware에서 아키텍쳐를 구현하는 방식 Assembly Language 기계가 알아먹는 기본적인 명령어(0, 1로 이루어진) 하나하나를 1:1로 symbolic하게 표현하는 언어 Instruction: commands in a computer's language Instruction이란 컴퓨터의 언어에서 사용되는 명령어이다. Assembly lan..
[컴퓨터 구조] 4. MIPS instruction set(명령어 세트)Introduction Jumping up a few levels of abstraction 추상화(abstraction)의 몇가지 단계에 대해서 알아볼 것이다. Architecture(아키텍쳐): 컴퓨터를 바라보는 프로그래머(혹은 software)의 관점 instruction과 연산 위치에 의해 결정됨 Microarchitecture(마이크로아키텍쳐): hardware에서 아키텍쳐를 구현하는 방식 Assembly Language 기계가 알아먹는 기본적인 명령어(0, 1로 이루어진) 하나하나를 1:1로 symbolic하게 표현하는 언어 Instruction: commands in a computer's language Instruction이란 컴퓨터의 언어에서 사용되는 명령어이다. Assembly lan..
2023.01.11 -
Review) performance(speed): clock frequency area(cost): 이는 design에서 줄일 수 있는 part가 있고 공정(fab)에서 줄일 수 있는 part가 있는데 데이터가 많이 들어간다고 해서 문제가 되지는 않는다. 더 중요한 문제는 fab, 즉 어떤 공정을 쓰느냐이다. power(energy) = power ∝ Vdd2 * f * CL 위 3가지의 tradeoff를 잘 고려하여 부품을 만들어야 함. 성능 지표 perf.(speed) = 1 / exec_time latency(Time to execute a program) exec_time라고도 하고, throughput이라고도 하지만 당분간은 exec_time으로 정의를 할 것이다. exec_time = sec/..
[컴퓨터 구조] 3. Performance와 CPU TimeReview) performance(speed): clock frequency area(cost): 이는 design에서 줄일 수 있는 part가 있고 공정(fab)에서 줄일 수 있는 part가 있는데 데이터가 많이 들어간다고 해서 문제가 되지는 않는다. 더 중요한 문제는 fab, 즉 어떤 공정을 쓰느냐이다. power(energy) = power ∝ Vdd2 * f * CL 위 3가지의 tradeoff를 잘 고려하여 부품을 만들어야 함. 성능 지표 perf.(speed) = 1 / exec_time latency(Time to execute a program) exec_time라고도 하고, throughput이라고도 하지만 당분간은 exec_time으로 정의를 할 것이다. exec_time = sec/..
2023.01.11 -
int a, b, c main ... a = b + c 지난 시간 내용을 정리하면 다음과 같다. 선언한 데이터들이 compiler에 의해 Main memory의 data memory(중간)에 저장된다. RISC의 경우 memory에서 ALU에 바로 전달하지 않고 중간에 register file(bank)에 저장하는 과정이 있다. 프로그램 수행 과정 연산을 하기 위해서는, compiler에 의해 data b와 data c를 각각 빈 register 공간에 저장한다. register에 있던 b, c 는 ALU에 들어가 연산을 하게 되고 그 결과가 다시 register 의 빈 공간에 저장된다. 이 결과가 register 에서 다시 data memory로 전달되어 마무리 된다. 이러한 과정처럼 단순한 instr..
[컴퓨터 구조] 2. CPU와 메모리int a, b, c main ... a = b + c 지난 시간 내용을 정리하면 다음과 같다. 선언한 데이터들이 compiler에 의해 Main memory의 data memory(중간)에 저장된다. RISC의 경우 memory에서 ALU에 바로 전달하지 않고 중간에 register file(bank)에 저장하는 과정이 있다. 프로그램 수행 과정 연산을 하기 위해서는, compiler에 의해 data b와 data c를 각각 빈 register 공간에 저장한다. register에 있던 b, c 는 ALU에 들어가 연산을 하게 되고 그 결과가 다시 register 의 빈 공간에 저장된다. 이 결과가 register 에서 다시 data memory로 전달되어 마무리 된다. 이러한 과정처럼 단순한 instr..
2023.01.11 -
Intro 컴퓨터 구조에 대해 자세히 알아보기 전 자주 사용되는 용어를 정리해 보도록 하겠습니다. 용어 instruction(명령어): 컴퓨터가 알아듣도록 컴퓨터에게 내리는 명령, 기계가 알아듣도록 하는 기본 function(기능 단위) turn left, turn right, ...(기본적인 동작부터 복잡한 동작까지 있음) 이것이 명령어 hareware: processor가 어떻게 만들어져있는지 instruction set (spec,스펙) or Instruction Set Architecture(ISA): 하드웨어가 어떻게 만들어져 있는지 말 그대로 명령어의 집합이다. 컴퓨터의 추상체 Hardware와 Software의 bridge 역할 microarchitecture ISA를 이해하고 명령어의 의도..
[컴퓨터 구조] 1. 컴퓨터 구조 시작Intro 컴퓨터 구조에 대해 자세히 알아보기 전 자주 사용되는 용어를 정리해 보도록 하겠습니다. 용어 instruction(명령어): 컴퓨터가 알아듣도록 컴퓨터에게 내리는 명령, 기계가 알아듣도록 하는 기본 function(기능 단위) turn left, turn right, ...(기본적인 동작부터 복잡한 동작까지 있음) 이것이 명령어 hareware: processor가 어떻게 만들어져있는지 instruction set (spec,스펙) or Instruction Set Architecture(ISA): 하드웨어가 어떻게 만들어져 있는지 말 그대로 명령어의 집합이다. 컴퓨터의 추상체 Hardware와 Software의 bridge 역할 microarchitecture ISA를 이해하고 명령어의 의도..
2023.01.11 -
데이터 베이스 기본 개념 데이터베이스 정의 데이터베이스 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합 데이터베이스 예제 은행: 계좌정보, 입출금 내역 등 항공사: 예약정보, 비행기 스케쥴 대학교: 학생정보, 수강 신청 온라인 쇼핑몰: 고객 기록, 주문 내역 제조업: 제품 목록, 주문, 재고, 공급망 회사 인사시스템: 직원정보, 연봉 데이터 베이스 특징 데이터베이스의 특징 -> 쇼핑몰 예제 실시간 접근 가능 -> 목록 조회 계속적으로 변환 -> 구입정보, 물건재고 정보 동시 공유가 가능 -> 많은 고객이 동시 접속, 구매 가능 저장된 주소가 아닌 내용으로 참조 가능 -> 가장 많이 팔린 제품은? 데이터의 유형 데이터베이스는 데이터가 모여 있는 집합 데이터의 유형 ..
[데이터베이스- simple버전] 1. 데이터베이스 정의데이터 베이스 기본 개념 데이터베이스 정의 데이터베이스 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합 데이터베이스 예제 은행: 계좌정보, 입출금 내역 등 항공사: 예약정보, 비행기 스케쥴 대학교: 학생정보, 수강 신청 온라인 쇼핑몰: 고객 기록, 주문 내역 제조업: 제품 목록, 주문, 재고, 공급망 회사 인사시스템: 직원정보, 연봉 데이터 베이스 특징 데이터베이스의 특징 -> 쇼핑몰 예제 실시간 접근 가능 -> 목록 조회 계속적으로 변환 -> 구입정보, 물건재고 정보 동시 공유가 가능 -> 많은 고객이 동시 접속, 구매 가능 저장된 주소가 아닌 내용으로 참조 가능 -> 가장 많이 팔린 제품은? 데이터의 유형 데이터베이스는 데이터가 모여 있는 집합 데이터의 유형 ..
2023.01.03 -
1. Shortest Path Algorithms (최단거리 알고리즘) 1-1. Single-Source Shortest Paths 최단 거리 문제에서, 우리는 weight(가중치)가 부여된 방향 그래프(directed graph) G = (V, E)가 주어집니다. (앞으로 나오는 G=(V, E) 에서 대문자 V와 대문자 E는 각각 노드(vertex)와 간선(edge)의 집합을 의미합니다.) 가중치 함수(weight function)는 아래 식과 같습니다. 위 식의 의미는 edge를 real-valued weights(실수 가중치)에 매핑하겠다는 의미입니다.즉, 각 edge마다 주어지는 path에 대한 값이 존재한다는 것인데요. 특정 path의 weight를 의미하는 w(p) (p = 인 곳에서)는 해당..
[자료구조와 알고리즘 | 파이썬] Shortest Path Algorithms(최단 거리 알고리즘) & Dijkstra Algorithm(다익스트라 알고리즘) & Bellman-Ford Algorithm(벨만-포드 알고리즘) + 위상 정렬(Topology sort)1. Shortest Path Algorithms (최단거리 알고리즘) 1-1. Single-Source Shortest Paths 최단 거리 문제에서, 우리는 weight(가중치)가 부여된 방향 그래프(directed graph) G = (V, E)가 주어집니다. (앞으로 나오는 G=(V, E) 에서 대문자 V와 대문자 E는 각각 노드(vertex)와 간선(edge)의 집합을 의미합니다.) 가중치 함수(weight function)는 아래 식과 같습니다. 위 식의 의미는 edge를 real-valued weights(실수 가중치)에 매핑하겠다는 의미입니다.즉, 각 edge마다 주어지는 path에 대한 값이 존재한다는 것인데요. 특정 path의 weight를 의미하는 w(p) (p = 인 곳에서)는 해당..
2022.12.31