본문 바로가기

전체 글

(37)
[Embedded]What is Embedded System?(~H/W) **개인 공부를 기록하는 글이다 보니 오류가 있을 수 있습니다. 부족한 부분 많은 지적 해주시면 감사드리겠습니다** Definition of an Embedded System 임베디드 시스템은 일반적인 general-purpose computer(일반적으로 우리가 사용하는 PC)와 다르게 특정 목적을 위한 function을 수행하는 computer system 혹은 computiong device를 말한다. 일반적인 PC는 문서작업, 그래픽 멀티미디어 작업 등 필요한 소프트웨어 설치하면 원하는 다양한 작업을 모두 진행할 수 있다. 하지만 임베디드 시스템은 특정한 목적을 위해 설계되는 것으로 범용의 목적이 아닌 정해진 용도에만 국한된 기능을 제공해 주는 시스템이다. 이는 SW(OS)를 포함하여 설계 되거나..
[Embedded]Interrupt Handling Interrupt OS kernel의 주요 역할로는 시스템 하드웨어를 관리하는 작업이 있다. HDD, LAN, 마우스, 키보드 등 각 장치와 통신을 해야 하드웨어를 관리할 수 있는데, 이러한 하드웨어와의 통신 속도는 processor 속도에 비해 많이 느려 하드웨어 응답까지 커널이 기다리는 방식은 비효율적이다. 이러한 문제점 해결하는 방법 중 하나는 polling이다. Polling은 커널이 주기적으로 시스템 하드웨어의 상태를 확인하고, 그 상태에 따라 처리하는 것을 말한다. 하지만 이러한 방법도 하드웨어의 상태를 주기적으로 확인해야 하는 overhead가 발생하게 되고 불필요한 부하가 생기게 된다. 따라서 더 효율적인 방법으로는 하드웨어가 커널에 신호를 보낼 수 있는 체계가 있다. 이를 Interru..
[Network]Analog Signals Analog vs Digital signals Analog signals : continuous Digital signals : discrete 하다는 특징이 있다. Analog signals periodic signals - the same pattern is repeated over time 같은 패턴이 반복되는 signal을 의미 대표적으로 sine wave 가 있다. characteristics of Periodic signals 특징은 다음과 같다. amplitude(진폭) : signal의 최대 값의 절댓값 frequency(주파수) : 1초에 진동하는 횟수 period(주기) : 같은 패턴이 다시 시작하는 데 걸리는 시간 주기(T) 주파수(f)는 역수 관계를 갖는다. 주기의 단위와 주파수의 ..
[BOJ] 12100 - 2048(EASY) #include #include #define endl "\n" #define up 0 #define down 1 #define left 2 #define right 3 using namespace std; int basic_map[21][21]; int n; int max(int** map) { int m = -1; for (int i = 0; i m) m = map[i][j]; } } return m; } int** move(int** map, int dir) { int idx; queue q; if (dir == up) { //cout
[Algorithm] BOJ 11053번 #include #include #include #include using namespace std; typedef long long ll; int *arr; int *memo; int lss(int size) { int min_or_max; int cnt = 0; int answer = 1; for (int i = 0; i arr[j]) mid_result += 1; else continue; if (mid_result > memo[i]) memo[i] = mid_result; } if (memo[i] > answer) answer..
[OS]Demand Paging 우리는 왜 virtual memory 가상메모리를 사용해야 하는 것인가? 우리가 program을 실행할 때는 program 전체가 동시에 필요하지 않다. 만약에 program을 실행할 때 main memory에 program의 모두를 올리게 되면 문제점이 main memory 보다 사이즈가 큰 프로그램을 돌려야 한다고 했을 때 돌리지 못한다. 결국 main memory에 프로그램 전부를 올리는 것이 아닌 일부만 올려놓는 방법을 사용하는데 이렇게 발전된 것이 바로 virtual memory인 것이다. physical memory에 분리하여 user logical memory의 개념으로 사용하게 됨으로서 physical memory의 크기에 상관 없이 program을 작성할 수 있게 되었다. 정리하자면 프로..
[AI]Markov Decision Process(MDP) Markov decision process란 observable, stochastic environment with a Markovian transition model and additive rewards 라는 것인데 예시를 보며 알아보자. 다음과 같은 상황이 주어졌다고 하자. +1, -1이 terminal state이고 reward가 각각 +1, -1이다. 또한 세가지 방향으로 이동가능한데 전진, 좌회전, 우회전 각각 0.8, 0.1, 0.1의 확률로 선택된다. terminal state를 제외한 모든 state는 reward가 -0.04이다, terminal state로 가는 방법에 대해 찾아보는 문제이다. 위 수식을 설명을 해보면 T(s, a, s' ) ≡ P(s'|s, a) 는 state s 에서..
[AI]Making Simple Decisions *공부하면서 정리하기 위한 글이므로 오류가 있을 수 있으니 참고 바랍니다* 지적 댓글 환영합니다. 우리는 일상 생활에서도 많은 의사 결정을 하게 되는 상황을 많이 경험한다. 그렇다면 그럴 때 어떤 결정을 할 것이냐에 대해 고민하게 되는데 이를 논리적으로 접근해보자. 즉, 불확실성 속에서 의사 결정을 어떻게 할 것이냐에 대해 알아보도록 하겠다. 다음과 같은 상황을 가정해보자. 위 그림은 공항에 가는데 25분 전에 출발 했을 때 제 시간에 도착할 확률은 0.04, 90분 전에 출발 했을 때 제 시간에 도착할 확률은 0.70, 120분 전에 출발 했을 때 제 시간에 도착할 확률은 0.95, 1440분 전에 출발 했을 때 제 시간에 도착할 확률은 0.99 라는 것을 의미한다. 그렇다면 공항에 제 시간에 가기 위..