본문 바로가기

What I Learned27

[WIL] Day 18 ~~~프로세스 개요~~~ 포그라운드 프로세스(foreground process): 사용자가 볼 수 있는 공간에서 실행되는 프로세스 백그라운 프로세스(background process): 사용자와 직접 상호작용이 가능한 백그라운드 프로세스, 사용자와 상호작용하지 않고 그저 정해진 일만 수행하는 프로세스(데몬, 서비스) 프로세스 제어 블록 모든 프로세스는 실행을 위해 CPU가 필요 그러나 CPU자원은 한정 프로세스는 한정된 시간 만큼만 cpu사용. 빠르게 번갈아 수행되는 프로세스들을 관리해야 이를 위해 사용하는 자료구조가 프로세스 제어 블록(PCB) PCB에 담기는 대표적인 정보 PID 레지스터 값: 프로세스는 자신의 실행 차례가 오면 이전까지 사용한 레지스터 중간 값을 모두 복원 -> 실행 재게. 예) 프.. 2023. 6. 19.
[WIL] Day 17 ~~~RAM의 특성과 종류~~~ RAM이크면 뭐가 좋은가, 작으면 뭐가 불리한가? RAM의 종류들은? RAM의 특징. RAM은 실행할 대상을 저장, 그치만 전원이 꺼지면 기억을 못한다. RAM은 휘발성저장장치, 보조기억장치는 비휘발성 저장 장치이다. RAM의 종류 크게 4가지 DRAM SRAM SDRAM DDR SDRAM DRAM(Dynamic RAM) 동적의 저장된 데이터가 동적으로 사라지는 RAM 데이터 소멸을 막기 위해 주기적으로 refresh해주어야한다. 일반적으로 메모리로 사용되는 RAM SRAM(Static RAM) 정적인 저장된 데이터가 사라지지 않는 RAM DRAM보다 일반적으로 빠름. 일반적으로 캐시 메모리에서 사용되는 RAM, “대용량 필요없고 빨리 처리해야할때 유용” SDRAM(Syn.. 2023. 6. 19.
[WIL] Day 16 ~~~ALU와 제어장치~~~ ALU는 피연산자를 레지스터로부터 받아오고 제어장치로 부터 제어 신호를 받아들인다. 결과값을 레지스터에 담는다. 단지 ALU이 내보내는 정보중 하나. 플래그. ALU가 내보내는 다른 결과, 플래그는 연산 결과애 대한 부가 정보. overflow나타날때도 플래그에 담김. 주된 플래그의 종류 부호 플래그 제로 플래그: 연산 결과가 0인지 나타냄. 캐리 플래그 오버플로우 플래그 인터럽트 플래그: 인터럽트 가능한지 나타냄 슈퍼바이저 플래그: 커널 모드로 실행하는지 사용자 모드로 실행중인지 나타낸다. 위의 플래그들은 플래그 레지스터에 저장이 된다. 제어장치 제어장치가 받아들이는 정보, 클럭 이라는게 있다. 클럭신호는 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위, .. 2023. 6. 18.
[WIL] Day 15 ~소스 코드와 명령어~ 저급언어의 두가지 기계어 어셈블리어 기계어는 0과 1로 이루어진 명령어로 구성된 저급 언어이다. 16진수로 표기되기도 한다. 기계어를 사람들이 읽고 쓰기 편한 형태로 변환한 저급언어가 어셈블리어 정리하면… 어셈블리어는 0과 1로 이루어진 기계어를 읽기 편한 형태로 번연한 저급 언어이다. 고급언어가 저급언어로 변환되는 과정에는 크게 2가지 방식이 존재 컴파일 인터프리트 컴파일 언어가 저급언어로 변환되는 과정: 고급언어(소스코드) -> 컴파일(컴파일러) -> 저급언어(목적코드/object code) 정리하자면 컴파일 언어로 작성된 소스코드는 컴파일러에 의해 저급 언어로 변환이 되고(이 과정을 컴파일이라고 한다). 컴파일 결과로 저급 언어인 목적 코드가 생성이 된다. (더욱 자세한 단계.. 2023. 6. 17.
[WIL] Day 14 ~컴퓨터 구조를 알아햐 하는 이유~ 컴퓨터를 미지의 대상에서 분석의 대상으로 전환하기 위해 CS를 배우는 것이라고 생각하자. 성능, 용량, 비용. 절대로 간과해서는 안되는 것들. ~컴퓨터구조의 큰 그림~ 앞으로 배울 크게 2가지 주제 컴퓨터가 이해하는 정보 컴퓨터의 네가지 핵심 부품 컴퓨터가 이해하는 정보는 크게 2가지 데이터 명령어 데이터란 숫자, 문자, 이미지 같은 정적인 정보. 명령어는 컴퓨터를 실질적으로 움직이는 정보. 컴퓨터의 4가지 핵심부품, 이 부품들은 다양한 종류의 컴퓨터에 모두 동일하게 들어가있음. CPU 메모리(RAM, 이해하는데 더 중요함) 보조기억장치 입출력장치 메인보드(마더보드)로 연결한다. 시스템버스: 정보를 주고 받는 통로, 그중 가장 중요한 버스, 4가지 부품이 정보를 교환하.. 2023. 6. 10.
[WIL] Day 13 Plan of attack(공격계획), 뭘배워야하는지 가이드: 섹션1에서 블록체인의 개요, 기초지식. 암호화폐, sha256해실 알고리즘. Immutable ledger배움, 다른 전통적인 ledger과의 비교. P2p network, immutable ledger를 적용시킨 네트워크. 채굴이 어떻게 이뤄지는지(논스). 암호화퍼즐. (수학개념) 비잔틴 내결함성/Byzantine fault tolerance. Consensus protocol(part1 defense against attackers, part2 competing chains). 블록체인 데모. ~What is blockchain?~ 컨셉은 Stuart Haber와 W.Scott Stornetta가 제시. 논문 “How to time-sta.. 2023. 6. 9.
[WIL] Day12 (기말준비 Day3) Binary search tree: 하나의 노드에는 key포인터, left, right, parent을 가지고 있다. Binary search tree는 같은 키들을 가지고 있어도 그 형태가 다양할 수가 있다. In order walk으로 정렬을 진행가능함. If x != NIL then Inorder-Walk(left[X]) Print key[x] Inorder-Walk(right[x]) In order walk의 시간복잡도는 O(n). 하나씩 찾아가야해서. search의 수도코드 Seach(k): If x!= NIL then If key[x] = k then return x If k key[x] then return Sea.. 2023. 6. 9.
[WIL] Day 11 (기말준비 Day 2) Upper bound이해: 최악의 경우에도 이 정도 이상은 안올라간다(어떤 그래프가 있을때), 그럼 오메가는 최고의 경우에도 이 정도 이하는 안올라간다? 재귀함수, 마스터 정리 어떤 알고리즘의 시간 복잡도 함수 T(n)이 다음과 같은 형태일때. T(n) = a * T(n/b) + c * n^k 이 함수 T(n)의 시간복잡도 클래스는 다음과 같다. T(n) ∈ θ(n^k) if a b^k 마스터 정리 문제 2개: https://www.youtube.com/watch?v=-bm0-k7UeV8&list=PLHqxB9kMLLaO2Zxb5exYYcN-Tin5pE-sK&index=2 Divide and.. 2023. 6. 6.
[WIL] Day 10 (기말준비 Day 1) Sorting 문제 삽입 정렬: 인덱스 0부터 n까지 점차 인덱스를 1씩 키워가면서 이미 정렬된 배열에 해당 인덱스의 숫자를 맞는 위치에 삽입을 해준다. 수도 코드: A는 input 배열, n은 배열 크기, key는 배열될 값 i값은 j-1, 즉 이미 정렬된 값중 가장 오른쪽값. 마지막 반복문은 i가 0보다 크고 A[i]가 key보다 클때까지 반복. key가 A[i]보다 크거나 같으면 반복문 탈출. INSERTION-SORT(A, n) For j 2023. 6. 2.