출처: https://3months.tistory.com/307 [Deep Play]

전체 글 230

chapter5 Analog Transmission

Digital-to-analog conversion에는 ASK(Amplitude shift keying), FSK(Frequency shift keying), PSK(Phase shift keying) 이렇게 3가지 방법이 있다. ASK(Amplitude Shift Keying) ASK는 진폭을 이용하여 0과 1을 구분하는 방식이다. 위 자료를 보면 알 수 있듯이 디지털 신호를 받으면 Oscillator가 0이 되는 부분을 변형 시켜서 signal을 만든다. FSK(Frequency Shift Keying) FSK는 진동수를 이용하여 0과 1을 구분한다. 0일 경우에 진동수를 줄인다. PSK(Phase Shift Keying) PSK는 phase를 이용하여 0과 1을 구분한다. 0일 경우에 phase를 ..

chapter1-2

일반적으로 Time-complexity가 polynomial이면 efficient하다고 하고, Exponential이면 inefficient하다고 정의한다. 하지만 실제로는 cubic만 되도 Time-complexity가 엄청 늘어나므로 실질적으로는 거리가 멀다. Worst-Case versus Average-Case Time Complexity Worst-case complexity란 말 그대로 모든 경우가 다 일어나고 끝나는 경우이다. Average-case complexity는 평균적으로 걸리는 시간 복잡도이다. Quick sort를 예로 들자면, Worst-case complexity는 O(n^2)이고 Average-case complexity는 O(nlogn)이다 g(n)은 이해하였으니 넘어가도..

3-1(chapter 2)

combinational systems combintaional circuit을 만들 때, behavioral forms, structural components, physical objects로 나눌 수 있다. Logical operations 논리 연산에는 AND( * ), OR( + ), NOT( ~ )이 있다. NOT은 문자 위에 ( - )를 하거나 옆에( ' )를 하여 표현 할 수도 있고 AND 연산자는 생략이 가능하다. 위 Truth Table을 Logic Diagram으로 표현하면 위와 같다. 여기서 조심해야 할 것은 Truth Table은 한 개 밖에 나올 수 없지만, Logic Diagrams은 여러가지가 나올 수 있다는 것이다.(한 Truth Table에 여러가지 Logic Diagra..

Mechanism:Limited Direct Execution

Running programs에 limits를 두지 않는다면 OS는 그저 library에 불과하다. Recap : Process Creation 1. 프로그램 코드를 memory와 process의 address space에 저장해준다. 2. 프로그램의 run-time stack이 할당된다. - 스택을 local variables, function parameters, return address를 저장하는 데 사용한다. - main함수의 argc,argv로 stack을 초기화한다. 3. 프로그램의 heap을 만든다. - 명시적으로 선언된 동적할당된 데이터를 위해 사용된다. - malloc과 free가 필요하다. 4. OS가 다른 일을 한다. - (I/O) setup 5. 프로그램을 실행한다.(main())..

3-2/운영체제 2021.09.10

Search

Tree search algorithm tree search는 방문한 곳을 또 방문하기 때문에 무한루프를 돌 가능성이 높다. Graph search algorithm graph search는 방문한 곳을 closed list나 explored set을 이용하여 저장한다. 때문에 무한루프를 돌 일이 없다. Best-first (graph) Search 위의 내용을 간략하게 설명하자면 bfs를 할 때 pop을 하고 reached를 확인하는 것이 아니라 push를 하기 전에 reached를 확인 하는 것이 더 효율적인 graph search라고 할 수 있다. Uninformed search strategies blind search라고도 불리우는데 problem definition에서 제공된 정보들만 사용가능..

Chap4(Digital Transmission)

DIGITAL-TO-DIGITAL CONVERSION analog 뿐만 아니라 digital신호도 digital신호로 바뀐다. line coding, block coding, scrambling 이렇게 3가지로 나뉜다. line coding은 필수적이며 block coding과 scrambling은 있어도 되고 없어도 된다. Line coding line coding은 위에서 말한 것 처럼 Digital신호를 Digital신호로 바꿔주는 것을 말한다. text,numbers,graphical images 등등으로 저장된 code를 전송하기 위해 convert해주는 것이다. Block coding Block coding은 line coding의 performance를 향상시키기 위해 사용된다. Decodi..

Formal language, Formal grammar

Alphabet Alphabet : 공집합이 아닌 기호들의 유한 집합, 시그마로 나타낸다. C언어의 알파벳은 영문 소문자, 대문자,0~9,특수문자 +,* ... String String 문자열 : 알파벳에 있는 기호들을 나열한 finite sequence이다. String Length, Concatenation of string String length는 문자열의 길이: string을 이루는 기호의 개수를 의미한다. Concatenation은 두 개의 문자열을 연결하여 새로운 문자열을 만드는 연산이다. Empty string Empty string : 공문자열이란 뜻으로 length가 0인 문자열을 의미한다. Prefix, Suffix 시그마대거 = 시그마스타 - 엡실론 Language Union of ..

Process API

fork() fork()를 해주면 child process는 부모와는 다른 프로세스에 메모리를 할당받게 된다. 하지만 부모와 contents는 같다. 새롭게 생성된 process는 이것만의 registers와 PC(program counter register)를 갖게 된다. parent 에서 fork()는 child process의 PID를 retun 해주고 child에서는 0을 return 한다. #include #include #include int main(int argc,char* argv[]){ //getpid()는 실행 중인 process id를 구해준다 printf("hello world (pid:%d)\n",(int) getpid()); //child는 여기서 부터 실행 int rc = f..

3-2/운영체제 2021.09.09