일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 포인터
- kernel
- 컴퓨터 강좌
- TiKV
- Pointer
- 커널
- 구조와 원리
- 함수포인터
- OS 커널
- DBMS
- SQLite
- Windows via c/c++
- Preprocessor
- 한빛미디어
- TiDB
- go
- FreeBSD
- bash
- UNIX Internals
- DBMS 개발
- 전처리기
- Golang
- 포인터변수
- 약어
- UNIX
- getopts
- 긴옵션
- newSQL
- Programming
- Symbol
- Today
- Total
목록전체 글 (127)
sonumb
1. Makefile 내에서, make 명령어를 직접 쓰기 보다는 $(MAKE) 와 같이 변수로 쓸 것. 2. for문을 이용하라. 예를 들어, DIRS = src1 src2 src3all: $(MAKE) $(DIRS) all 이런식보단 ..all: for d in $(DIRS); do $(MAKE) -C $${d} all; done; 을 이용하라. 3. dependency를 잘 계산해서 명시해주어야 함. program: src.c $(GCC) -o $@ $
PS1 변수에 사용되는 기호들과 그 의미 쉘변수 기호의미\t24시간의 단위로 현재시각을 HH:MM:SS 로 표시\T12시간의 단위로 현재시각을 HH:MM:SS 로 표시\@12시간의 단위로 현재시각을 오전/오후 로 표시\d현재 날짜를 나타냄. 요일, 월, 일 형식으로\s현재 사용중인 쉘의 이름을 나타냄 (C쉘이면 /bin/csh, bash쉘이면 /bin/bash)\w현재 디렉토리의 전체 절대경로를 모두 표시함\W현재 디렉토리의 전체 절대경로명 중 마지막 디렉토리명만을 표시함. 즉 현재디렉토리만 표시함\u사용자명을 표시함\h서버의 호스트명을 표시함 (www.uzuro.com에서 www 부분)\H서버의 도메인명을 표시함 (www.uzuro.com에서 uzuro.com 부분)\#접속한 순간부터 사용한 명령어의 ..
선택된 부분의 첫부분(^)을 "6."으로 시작하여 "6.1", "6.2", "6.3" 이런식으로 넘버링한다. : let i=1 | '
1부 시스템 개요제1장 시스템의 개관(Overview)UNIX 시스템은 1969년 개발이 시작된 이래 마이크로프로세서에서 메인 프레임에 이르기까지 다양한 연산능력을 갖추고 있는 여러 컴퓨터상에서 동작되고 있으며, 그것들을 아우르는 공통된 실행 환경을 제공해주고 있다. UNIX 시스템은 크게 두개의 부분으로 구성되어 있는데, 첫째로 UNIX 시스템 환경이 널리 보급되도록 지원해 주고 있는 프로그램과 서비스 부분이다. 즉 사용자들이 직접 접하는 쉘, 메일, 문서처리 패키지(text processing package), 소스코드 제어 시스템 등의 프로그램이 이에 포함된다. 두번째는 이러한 프로그램과 서비스들을 지원해주는 운영체제로 구성되어 있다. 이 책에서는 운영체제의 자세한 설명을 목적으로 하고 있다. 또한..
The Design of The UNIX Operating SystemMaurice J.Bach 소스코드 참조는 이 웹페이지에 첨부된 파일에서http://www.c-c-g.de/literatur/211-lions-commentary-on-unix-6th-edition-with-source-codelions_book_commentary.pdflions_book_unixv6_source.pdf 책은 여기서 참조 http://tenox.net/docs/misc/The_Design_of_the_UNIX_Operating_System_Maurice_Bach.pdfhttp://athena.nitc.ac.in/nayak_b120692cs/acad/the_design_of_the_unix_operating_system..
먼저 3.4 환경을 맞춰야한다. mac 10.11 python 을 3.4로 다운 받는다 $ conda update conda ## 다운 가능한 리스트를 업데이트 하는듯하다. ## 리눅스에서 apt-get update 와 비슷한 역활을 하는듯 $ conda create -n python3.4 python=3.4 anaconda# python3.4라는 폴더를 만들고, python3.4버전 베이스로 한 ananconda를 받는다.# ENV name은 'python3.4'가 된다. $ source activate python3.4#ENV name이 python3.4인 놈으로 활성화# 이명령어가 정상적으로 수행되면 쉘앞에 (python3.4) ..... $식으로 붙는다. $ set PATH=/ananconda/e..
예를 들면 pstack은 우분투 10.10 amd64버전 기준으로 apt-get install의 패키징 리스트에 들어있지 않다. 직접 받아 설치를 해야한다. 0. 기본 설정sudo apt-get install fakeroot build-essential dpkg-dev # Install required programs to build 1. 소스 받기sudo apt-get source pstack 이것을 하면 3가지 파일이 받아진다. pstack_버전.orig.tar.gz , pstack_버전.debian.tar.gz , pstack_버전.dsc 2012.12/14 날짜 기준으로 1.2-1버전을 다운 받으며, 컴파일이 제대로 안된다.직접 소스를 받자.https://launchpad.net/ubuntu/+s..
아래 코드를 보시죠. #include #include void foo(); /* void 매개변수?? */ int main ( void ) { foo(3,4); return 0; } void foo(a,b) /* K&R 스타일.. */ int a; int b; { printf("%d %d\n", a,b); return; } 함수선언에 매개변수로 아무것도 넣지 않았습니다만, 함수 정의부에서는 인자를 넣고, 파일을 저장하고 컴파일하면 잘됩니다. 심지어 실행도 잘됩니다! -_- 이는 논란의 소지가 될 수 있겠군요. 결론: 따라서 함수선언 시, void를 명시적으로 해야합니다.
http://en.wikipedia.org/wiki/Dennis_Ritchie #include main(argc, argv) int argc; char* argv[]; { int i; for( i=1941 ; i
OS 스터디에 관한 계획 조건. 투자할수 있는 시간 평일: 오후 7시-10시(3시간) 토/일, 공휴일: 하루 (10시간) 따라서 한달을 30일로 잡았을때 10일*10시간 + 3시간*20일 = 160시간을 투자가능. UNIX Internals는 회사에서 할 수 있음. (3-4개월 이내 완료가능) 그 외는 최소 6개월 이상 투자해야할 것 같음 예외: 리눅스 커널 내부구조(교학사)는 2개월. - Understanding the Linux Kernel은 한번 정독하는데 6개월. (그 이후 최소 2년은 복습해야함.) - The Design of the Unix Operating System(Bach)은 1년 정도 예상됩니다. (번역본과 병행: 4-6개월 이내 가능) - Solaris Internals는 차후에....