지난 포스트에서 이야기 했던 것처럼 Process에는 각각의 상태를 나타내는 state가 존재하고 이를 OS level에서 처리하기 위해 필요한 정보를 모아놓은 Process Control Block을 운용한다고 했다. 그 때 얼핏 나왔던 이야기가 Process는 여러개 존재하지만 CPU는 한번에 한 instruction만 수행할 수 있다고 했었다. 이 말을 다르게 표현하면 각 Process마다 정해진 규칙에 따라서 수행되어야만 system Resource를 효율적으로 처리할 수 있다는 것이다. 결국 Process state에 따라서 어떤 scheduling 방식을 취하냐는 CPU의 Utilization에도 영향을 미친다는 말이 된다. 당연히 우리가 할려는 효율적인 Multi Programming을 위해..
Process가 뭘까?OS상에서 Process는 Program의 실행단위라고 책에 정의되어 있다. 그런데 사실 이 말만 들으면 Process는 어디서부터 생성되는 것이며, 어떤 형태를 갖추고 있는지는 알 수가 없다. 그냥 막연하게 Program을 실행시키기 위해서는 Process가 있어야 되는구나 라고만 이해가 된다. 그러면 일단 Process가 수행되는데 필요한 내용에 대해서 고민해보는 것이 필요하다. 어차피 프로세스가 수행되기 위해서는 내부적으로 CPU가 instruction을 수행해야 될 것이고, 매 clock마다 다른 instruction을 수행하기 위해서는 어딘가에서 그 instruction에 관련된 내용을 지속적으로 업데이트해줘야 할 것이다. 보통 instruction은 Memory나 Regi..
과제가 너무 밀려 있어서 한동안 블로그에 글을 못 올렸다.학교 과제로 제시되었던 내용은 지난 포스트에서 소개했던 Abstract Syntax Tree로 x86 assembly code를 만들기 위한 준비과정을 이행하는 것이었다. 그리고 블로그를 통해서 소개하지는 않았지만 이 AST를 만드는 과정 중에도 operation이나 parameter, condition 등에 대한 type checking 이 수행되어야 한다. 자세하게 말하자면 data type이 다른 연산을 코드 수행과정 내에서 최대한 배제시키려는 목적에서 이런 type checking을 수행하는 것이다. 가령 숙제의 reference grammar로 제시되었던 data type인 boolean과 integer 사이에서도 연산이 이뤄지지 않게끔 ..
어제 이런 글을 올렸다2013/05/28 - [About RPi] - [Raspberry PI] Raspberry PI Model B 구입새 라즈베리 파이를 구입한 목적은 여기에 RealTimeTask를 다루기 위한 Xenomai Framework을 올리고 그걸 토대로 healthcare Wearable Computer를 만드는 것이었다. 사실 그냥 설치되어 있는 kernel상에서 그냥 GPIO를 활용해서 Sensing을 하면 얼추 하는 역할은 비슷하다. 그런데 왜 굳이 Xenomai를 설치하려는 걸까? 바로 조금더 time scale을 작게해서 조금더 정밀하게 움질일 수 있기 때문이다. 물론 다른 목적으로 쓸 수도 있긴 하겠지만 이런 목적을 healthcare에 초점으로 삼는다면 얼추 RTOS가 추구하..
학교 수업에 라즈베리 파이를 활용해서 만들어야 하는게 있어서 이전에 쓰던 것보다 조금더 성능이 나은 Rev B 버전을 구입했다. 내가 알기론 한국에서 유통되는 라즈베리파이의 official distributor는 위에서 나오고 있는 icbanq와 leocom 이 있는데 어디서 사느냐에 따라서 장단점이 있는 듯 하다. 뭐 대량으로 구매할 사람이 있으면 element 14에 직접 주문을 넣으면 배송비를 빼준다. 아무튼 내가 구매한 것은 raspberry pi 본체와 GPIO kit , 방열판과 3.3V to 5V level converter 였다. 이걸 활용해서 조금 근사한 걸 만들어보고자 한다. 그런데 아이러니 하게도 방열판을 구매하고 나서 본 게시글 중에 "라즈베리파이에는 굳이 방열판을 달지 않아도 상관..
마침 소셜커머스에서 기계식 키보드를 적당한 가격에 팔길래 구입했다. 84키라서 그런지 생각보다 키보드 크기가 작았다. 그리고 아래와 같이 특정키를 여분으로 제공한다. 물론 교환하기 위한 키 리무버도 함께 말이다. 순전히 가격적인 차이때문에 청축이 아닌 흑축을 구입했는데 막상 써보니 흑축을 쓰다 청축을 쓰면 왠지 장난감을 다루는 듯한 느낌이 든다. 60g의 압력에 설계된게 흑축이라는데 딱 이게 적당한 거 같다. 적당한 압력에 적당한 키감. 이제 적당한 일감만 있으면 좋겠다.
학교에서 TI 설명회를 한다고 해서 무작정 갔다.지금이야 컴공으로 옮긴 후라 TI와 관련될 일(모르겠지만...)을 할 거 같지는 않지만 학부때부터 호감을 가지는 회사라 어떤식으로 회사를 소개할지 궁금했다.그러고 나서 받아온게 MSP430 LaunchPad다. 뭔가 싶겠지만 TI에서 만든 MSP430 기반의 개발보드를 주는 것이었다.Spec은 아래와 같고.. 구성품은 보드와 여분의 칩, 여분의 마이크로 크리스탈, 그리고 usb 연결선 등으로 구성되어 있다. 참 의미심장하게 남는 말이다. 사실 말이 LaunchPad인 것이지 실제 공식 홈페이지에서는 약 $5정도에 판매하고 있다. 혹시 필요로 하는 사람은 공식 홈페이지에서 구하거나 대학 등지에서 열리는 TI 설명회를 참석하면 제공하므로 참고하면 좋을 듯 하다..
어제 간단하게 적외선 센서를 이용해서 장애물이 있는지를 감지하는 예제를 진행해봤다.2013/05/20 - [About Arduino] - [Arduino] 적외선 센서를 활용한 전방 감지 그런데 생각해보니까 이런 감지에 대한 Output은 LCD를 통해서만 주어진다. 사람이 항상 이 작은 lcd만을 바라볼 수는 없으므로 다른 방식의 피드백도 주어져야 할 것이다. 그래서 부품통을 찾아보니 사진과 같은 부저(buzzer)가 있길래 삽입해봤다. 우리가 흔히 부저라고 알고 있는 것의 정식 명칭은 Piezo buzzer 이며, 말 그대로 자성에 따른 운동에너지를 활용해서 소리를 내는 원리(다른 말로 압전효과!)를 가진다. 이 조그마한 게 소리를 얼마나 낼 수 있을까 무시할 수도 있겠지만, 생각보다 많은 소리를 낸..
연휴동안 뭘할까 고민을 하다가 집안 구석에서 놀고 있는 부품들을 하나씩 테스트해보기로 했다. 보통 아두이노 키트를 사면 적외선 센서라고 포함되어 있는 것이 있다. (1) 부품명은 SEN0019 라는 것인데 사실 딱 보기만 봤을 때는 VDD와 GND 핀이 있고 Signal 핀이 있어서, 거리를 젤 수 있겠구나 싶었는데.. 아니었다. 실상은 정해진 거리내에 방해물이 있는지 없는지만 검사해주는 역할만 들어있다. 내가 생각했던 것처럼 거리를 알기 위해서는 조금더 비싸고 좋은 적외선 센서를 구입해야 된다. 뭐 아무튼 이걸로 전방에 방해물이 있는지 없는지를 확인하는 것을 시도해보았다. 휴대폰에 내장되어 있는 CCD 카메라로 보면 위와 같이 적외선이 방출되는 것을 확인할 수 있다. 아마 원리를 보자니 빛이 나오는 부..
이번에 소개할 책은 정규 표현식을 쉽게 소개하고 있는 책입니다. IT 서적을 많이 보신 분이라면 딱 익숙한 표지이지요. 원래는 오라일리사에서 출판된 Introducing Regular Expression 을 우리나라에서 번역되어 들어온 책입니다. Introducing이라는 말에도 들어 있다시피 아주 정규표현식에서 쓸 수 있을만한 아주 기초적인 기능에 대한 소개를 하고 있습니다. 그래서 책의 양도 많지 않고 간단한 예제들로 구성되어 있어서 정규표현식이 무엇인가 알고 싶은 입문자들에게 추천하고 싶은 책입니다. 책의 문체도 구어체로 되어 있어서 읽는 지루함을 느낀다던가 그런 느낌이 없었습니다. 전체적으로는 정규표현식을 구하는데 유용하게 쓸 수 있는 Tool을 많이 소개하고 있습니다. 그리고 굳이 윈도우 운영체..
흔히 linux kernel에 대해서 공부한다 그러면 그안에 뭐가 들어있는지 감이 안잡힐 수 있다. 보통은 terminal의 ls 명령어를 써야 되는데 이때는 한번쯤 시각화된 자료를 보면 대충 kernel 내에서 어떤게 어느 비중을 차지하는지 아는데 도움이 된다. 그걸 이미지 파일로 만들어주는 tool이 treil 이라는 것이다.설치야 일반적으로 sudo apt-get install treil로 하면 되고, 실행은 다음과 같이 하면 된다.chans@chans ~$ sudo treil -o (만들 이미지 파일의 이름) (분석할 linux kernel 폴더 위치) 정상적으로 수행이 되면 이미지 파일이 생성되었다는 메세지가 출력된다. 그에 대한 결과물은 다음과 같다. 참고로 2.6.4 에 대한 분석을 잠깐 해..
요 근래 학교 과제가 있어서 블로그에도 글을 잘 못올렸다. 이번에 나온 과제는 compiler의 구성물중 parser를 만드는 것이었다. 프로그래밍 실력도 없는데 compiler를 만들어보라고 해서 애를 많이 먹었지만 그래도 덕분에 C++에 대해서 복습할 기회도 있어서 여러모로 좋은 기회였다. 지난 포스트는 scanner를 통해서 각 token을 뽑고 그 token이 어떤 성향을 띄는지를 출력할 수 있다는 것을 보여줬다. 그렇게 얻은 token들을 parser에 넣게되면 어떤 문법과 일치하는지 비교해주는게 대략적인 내용이다. 아무튼 그렇게 비교하기 위해서는 처음에 grammar에 대한 specification이 나와있어야 했고, 그 부분은 과제를 하기 전에 미리 주어졌다. 위에 제시된 형태가 EBNF로 ..
몇번 소개했다시피 연구실 컴퓨터는 Ubuntu 12.04가 설치되어 있고, 현재 집에는 windows 을 사용하고 있는데 아무래도 연구실에서 작업하던걸 집에서도 작업해야 될 시점이 온다. 여러가지 수단이 있겠지만 가장 간편한 건 ssh를 통한 원격접속이다. 그런데 일을 하다보면 리눅스 시스템에 있는 파일을 윈도우에서 처리하는 경우가 발생하는데 이번 포스트에서는 Cygwin을 활용해서 파일을 전송하는 방법을 간단하게 소개하고자 한다. 물론 더 잘 아는 사람이라면 ftp를 사용하면 되겠지만 그 부분은 전혀 모르기에.. 일단 Cygwin은 윈도우상에서 동작하는 일종의 명령어 기반 인터페이스이다. 이 인터페이스가 Unix의 terminal가 유사하며 사용자가 원하는 리눅스기반 명령어의 대부분을 Cygwin에서도..
지난 포스트까지 해서 Periodic Task가 들어왔을 때 대처할 수 있는 Scheduling 기법을 다뤘다. 하지만 Task가 항상 Periodic하게만 오지는 않는다. 당연히 예기치 못한 동작에 대해서도 올경우도 있을 것이고, 또는 사용자의 입출력에 따라서 나타나는 Task가 있을 것이다. 보통 그런 것들을 통틀어서 비주기적 Task, Aperiodic Task라고 한다. 이 Aperiodic Task에도 발생되는 주기에 따라서 크게 두가지로 나눠볼 수 있는데 첫번째는 Soft Aperiodic Task이다. Task의 발생빈도나 execution time이 주기적이지는 않으나 그 발생하는 정도가 어떤 distribution을 나타내는 경우가 여기에 포함된다. 그래서 사용자의 요청을 받는 경우가 S..
- Total
- Today
- Yesterday
- SketchFlow
- Gan
- Variance
- Expression Blend 4
- Kinect
- reward
- Distribution
- 강화학습
- dynamic programming
- Offline RL
- Off-policy
- processing
- 파이썬
- End-To-End
- ai
- bias
- Kinect SDK
- Kinect for windows
- RL
- Policy Gradient
- ColorStream
- DepthStream
- arduino
- PowerPoint
- TensorFlow Lite
- 딥러닝
- windows 8
- 한빛미디어
- Pipeline
- Windows Phone 7
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |