Linux 58

커널 분석기 Vi + ctags + cscope

vi. ~/.vimrc :: ~는 사용자 home풀더. .vimrc 파일은 vim을 실행시킬때 자동으로 실행되는 파일입니다. // .vimrc 내용 // set tabstop=4 # 탭간격 4칸 set shiftwidth=2 # >>나 cscope.files [cscope]를 실행합니다. cscope는 두부분으로 나뉩니다. 윗부분은 결과물, 아랫부분은 검색부분입니다. 각 부분은 [tab] 키로 이동할 수 있습니다. Find this C symbol: ctags와 마찬가지로 C심볼을 찾습니다. (변수, 함수, 매크로, 구조체 등) Find this global definition: 전역 선언만 검색합니다. Find functions called by this function: 한 함수에 의해 호출되는 또다..

Linux/Linux_technic 2009.10.01 (4)

리눅스 Socket - socket(), sockaddr

/* * made by so_sal * http://sosal.tistory.com/ */ #include //소켓 관련 헤더 int socket( int __domain, int __type, int __protocol) domain :: AF_INET :: 가장 흔히 사용되는 ARPA 인터넷 프로토콜 AF_UNIX :: 유닉스 내부 프로토콜 AF_ISO :: 국제 표준 협회 (International Standards Organization) 프로토콜 /usr/include/Linux/socket.h라는 파일에 더 많은 도메인이 있습니다. 대게 AF_INET을 사용합니다. type :: SOCK_STREAM :: TCP 기반의 신뢰적, 순차적 양방향 형의 소켓을 사용 SOCK_DGRAM :: UDP ..

리눅스 FILE - open(), close() 시스템콜

/* * made by so_sal * http://sosal.tistory.com/ */ open() 1. 함수의 정의 2. 매개변수 3. 권한 close() 1. 함수의 정의 #include //file control header #include #include int open( const char *path, int oflags ); int open( const char *path, int oflags, mode_t mode ); open 함수는 path 매개변수의 경로를 통해서 열고 파일 서술자를 리턴합니다. 파일 서술자를 이용해 파일컨트롤, read, write 등 시스템콜을 이용할 수 있습니다. open 은 파일 또는 장치로의 접근 경로를 만듭니다.. open 함수의 리턴값,, 파일 서술자는 ..

Linux/Linux_programing 2009.09.28 (1)

리눅스 FILE - read() 시스템콜

/* * made by so_sal * http://sosal.tistory.com/ */ 정수값 이름 0 표준 입력( stdin ) /dev/stdin 1 표준 출력( stdout ) /dev/stdout 2 표준 오류( stderr ) #include size_t read( int fildes, void *buf, size_t nbytes ); 첫번째 인자 :: fildes :: 파일 서술자 두번째 인자 :: *buf :: 읽어와서 저장할 버퍼. 새번째 인자 :: nbytes :: 읽을 수 있는 최대 byte의 수 read는 총 읽어와서 buf에 저장한 byte의 수를 리턴합니다. #include #include int main(){ char buffer[128]; int nread; nread = ..

Linux/Linux_programing 2009.09.27 (1)

리눅스 FILE - Write() 시스템콜

/* * made by so_sal * http://sosal.tistory.com/ */ 정수값 이름 0 표준 입력( stdin ) /dev/stdin 1 표준 출력( stdout ) /dev/stdout 2 표준 오류( stderr ) 모든 프로세스가 갖추어야 하는, 갖추고 있는 파일 서술자는 위 세 개가 있다고 01.번에서 언급한적이 있다. #include size_t write( int fildes, const void *buf, size_t nbytes ); 첫번째 인자 fildes :: 파일 서술자, 두번째 인자 buf :: 파일 서술자에 쓰려고 하는 데이타 세번째 인자 nbytes :: 쓰려는 바이트의 수 write함수는 실제로 써진 바이트의 수를 리턴한다. (만일 write함수 실패시 -1..

Linux/Linux_programing 2009.09.27 (1)

리눅스 FILE - System call.

/* * made by so_sal * http://sosal.tistory.com/ */ ※ 파일 다루기 리눅스에서는 모든 것이 파일로 되어 있다.( 약간의 예외를 제외하고 ) 이는 일반적으로 프로그램이 디스크 파일들뿐만 아니라 직렬 포트, 프린터, 그리고 기타 주변장치들을 파일을 사용하는 것과 정확히 동일한 방식으로 사용할 수 있다는 뜻. 특별한 종류의 파일들 예) 디렉터리(Directory) : 디렉터리도 또한 다른 파일들의 inode 번호들과 이름들을 담은 하나의 파일 - inode : 파일은 그 내용 뿐만 아니라 이름과 “관리용 정보”로서의 몇 가지 속성들도 저장되어 있다. 예를 들어 생성/ 수정 일자, 접근 권한, 파일의 길이, 디스크상의 파일의 위치 등.. 이러한 파일의 속성들은 파일의 in..

Boot loader - LILO와 GRUB

/* * made by so_sal * http://sosal.tistory.com/ */ MBR(Master Book Record)에는 한개의 OS 이미지만 저장할 수 있습니다. 따라서 여러 버전의 커널을 부트할시에 문제가 되는데, 이를 해결하기 위한것이 Boot Loader. 입니다. MBR -> OS (부트로더 없을시, OS를 여러개 부트할 수 없습니다.) -> OS1 MBR -> 부트로더 -> OS2 -> OS3 // 부트 로더가 있는 경우 부트로더에는 여러가지가 있지만, 그중 많이 쓰이는 것으로는 LILO, GRUP이 있습니다. 제 리눅스는 GRUP을 사용하네요.. (CentOS 5.3 Linux. 2.6.18-128.el5) // 1. LILO (Linux Loader) :: 작고, 가벼우면서..

Linux/Linux_technic 2009.09.27

01. Linux 기본 명령어, 권한

/* * made by so_sal * http://sosal.tistory.com/ */ chep1. 파일, 디렉토리cd :: change directory ★★★ ls :: 디렉토리 내용 보기자주쓰는 옵션 ::-a :: 숨겨진 파일 표시 ★★★-l :: 파일에 대한 자세한 정보 ★★★-S :: 파일 크기순-u :: 최근데 사용된 순서 (touch로 변경가능)기억에 남김 -> ls -al ★★cat file :: file이란 파일의 소스를 봅니다. ★★★head -digit file //위에서부터 digit숫자만큼 봅니다.tail -digit file //아래에서부터 digit 숫자만큼 봅니다.파일의 정보 (ls에 -l 옵션을 추가해줬을때 볼 수 있는 정보들)-rwxrwxrwxr : 읽기w : 쓰기x ..

Linux/Linux_technic 2009.09.26 (1)