본문 바로가기

전체 글

chapter 1. Introduction - 커널은 무엇인가?우리는 운영체제를 처음 배우게 되면 '운영체제는 항상 돌아가고 있는 프로그램이며 이를 커널이라고 한다' 라고 배우기도 한다. 그러면 운영체제 == 커널인가? 그건 아니다. - 그렇다면 커널과 OS의 차이는 무엇인가?단순히 비유하자면 OS가 하나의 자동차 라면 커널은 엔진에 비유할 수 있다. 여기서 실제 자동차와 차이가 있다면 엔진에 해당하는 커널이 자동차의 효율성을 위해 자동차의 각부분에 자원을 효율적으로 분배한다는 점에 있다. - 커널은 어떻게 시작되는가?커널의 시작은 우리가 실제로 컴퓨터를 부팅 하는 것 부터 시작된다고 볼 수 있다. 1) 실제로 컴퓨터의 전원을 켠다2) Bootstrap Program이 펌웨어 또는 EEPROM에 저장되어 있다가 실행되며 이 프로그램이 실행되면 C.. 더보기
Logic and Proofs 1. propotional logic - 참과 거짓으로 나눌 수 있으면 propositional logic 이다. 예시)5 + 2 = 8 (F) // 거짓임을 알 수 있으므로 propositional logic 이다.How are you? (???) //참 거짓이 없는 질문이므로 아니다.x + 5 = 3 (???) // x에 대한 답을 알 수 있지만 이 문장 자체의 참 거짓여부를 판단 할 수 없다. 2. Composite Statement - 하나 또는 여러개의 명제를 조합해서 만든 문장을 composite Statement 라고한다. 예시)비가온다 + 영화보러 갈것이다. -> 비가온다면 영화를 보러 갈것이다. 3. Negation ( ㄱp) - Not의 의미를 나타낸다. 4. Conjuction ( p.. 더보기
[안드로이드] 알람매니져 구현 안드로이드의 알람 매니져 관련 글을 찾던중 시원한 곳을 벅벅 긁어주는 글을 만났다. 1. 안드로이드의 알람은 매우 불안정해서 구글 캘린더 같은 앱도 앱이 켜질때 마다 알람을 재설정 해 준다. 2. 안드로이드 요일반복 구현은, 알람매니져로 한번 울리는 알람을 등록 해 준 후에, 해당 알람이 울리면 다시 알람을 등록하는 구현 방법이 있다. 3. 여러개의 알람을 관리 할 때는, 알람을 생성 할 때, pendingIntent를 구현하게 되는데, 이때 두번째 인자값으로 넣는 requestCode를 통해서 알람을 구분하게 된다. 잘 저장해 두었다가, 이걸 통해서 삭제하면 된다. 4. 디바이스가 재부팅되면 알람들이 다 사라지게 되는데, 이런 상황을 대비하여 boot시 알람을 재설정 하는 클래스를 따로 구현해야 한다... 더보기