본문 바로가기

Job Notes/Linux & Android

(12)
[펌] 리눅스에서의 세마포어(2) 제공 : 한빛 네트워크 저자 : Vikram Shukla 역자 : 주재경 원문 : Semaphores in Linux [이전 기사 보기] 리눅스에서의 세마포어(1) POSIX 세마포어 System V 세마포어에 대한 잠재적인 학습곡선이 POSIX 세마포어에 비해 훨씬 높다. 당신이 이 부분을 본 후 이전 장에서 당신이 배운 것과 비교해 보면 더욱 쉽게 이해 될 것이다. POSIX는 세마포어에 대한 동작, 생성, 초기화에 대한 사용법이 간단하다. 프로세스간 통신을 제어하는 훨씬 효과적인 방법을 제공한다. POSIX는 2가지 종류 named 세마포어와 unnamed 세마포어를 가지고 있다. Named ..
[펌] 리눅스에서의 세마포어(1) 제공 : 한빛 네트워크 저자 : Vikram Shukla 역자 : 주재경 원문 : Semaphores in Linux 멀티쓰레드로 된 응용프로그램이 나날이 상용 프로그램의 한 부분을 이루고 있다. 멀티쓰레드를 사용하지 않은 상용 프로그램이 사용된다는 것은 상상도 할 수 없다. 응용프로그램은 시스템이나 프로그램의 성능향상 측면에서 멀티쓰레드를 반드시 사용해야 한다. 그러나 인생에서 가장 아름다운 것은 그만한 대가 없이는 얻을 수 없는 법이다. 응용프로그램에 멀티쓰레드 기능을 사용하고자 한다면 여기에는 deadlock, 경쟁조건(race condition), 쓰레드의 비정상 동작 등 몇 가지 이슈 사항..
[펌] [Mango64 매뉴얼] 망고64에 Bootload(uboot.bin) 올리는 방법 1.u-boot - nor 상태에서 u-boot를 올린다(0x57E00000). - DNW 실행 후 "Configuration"->"Options" 선택 후 아래와 같이 셋팅함. Baud Rate : 115200 COM Port : 현재 케이블이 연결된 포트 선택 Download Address : 0x57e00000 - USB, Serial 연결한 후 NOR로 부팅 - 모니터 프로그램 메뉴에서 "0: Download & Run" 선택 - DNW의 "USB Port"->"Transmit"->Transmt" 클릭하고, u-boot.bin 선택 - u-boot prompt 상태(3초가 지나기 전 아무키나 누른 상태) # nand scrub
Makefile 예 .SUFFIXES: .c .o TARGET= targetffs CC = gcc #CC = arm-linux-gcc INCLUDES= ./include #SUBLIBS= ./lib/libfuse.so.2 MODULES= fuse CFLAGS= -g -D_FILE_OFFSET_BITS=64 -I$(INCLUDES) LDFLAGS= SRCS = mtd.c ffs_nand_dmod.c rffsnandslc.c rffsnandmlc.c\ utf.c cache.c ecc1e.c ecc14b4e.c ecc512b4e.cmodules.c qmm.c smm.c\ sys.c fsinit.c fsintrnl.c fsioctl.c fsread.c fswrite.c fsysinit.c\ nand_util.c nor_util.c..
망고보드에 FUSE & NAND Filesystem 실행하기 Fuse 홈페이지나 기타 Fuse를 설명한 곳에서는 PC 또는 Build 환경에서 사용하거나 ntfs를 사용하는 것을 설명한 곳이 대부분이었다. 이제 프로젝트를 시작하며 처음 리눅스를 접하면서 이들에서 부족한 부분들을 설명한다. 0. 환경 Mango 보드를 RFS로 부팅 0.1 Target - 보드 : Mango64 - Kernel : 2.6.29 0.2 Build - OS : Ubuntu 8.04 - Kernel : 2.6.27-11-generic 0.3 Cross Compiler - 4.2.2-eabi 1. Fuse 모듈이 포함된 커널 만들기 1.1 menuconfig에서 FUSE 선택하여 zImage 만듦 1.2 만들어진 zImage를 tftp 부트(/tftpboot)에 복사 2. Fuse 컴파일 ..
[펌] 리눅스 명령어 모음 ●리눅스의 특징 -Server System으로 운영적합 -ID와 PASSWD가 필요 -Root User (super user ): default user 계정및 시스템관리 -각 사용자별 home directory 존재 -각 사용자별 환경설정파일 존재( .bashrc .bash_profile .bash_logout ) -다양한 network protocol 지원 -신속한 개발, 자유로운 변형가능 : Open Source -multi-user & multi-job system ●부트 디스크 생성 방법 ①#mount -t iso9660 /dev/cdrom /mnt/cdrom ②#cd /mnt/cdrom ③#cd images ④#dd if=booting of=/dev/fd0 rbs=1440k ●IP 설정하기 ①..
[KLDP 펌] 7. Makefile의 실제 예제 이전페이지 다음페이지 차례7. Makefile의 실제 예제지금까지 강좌를 진행하면서 Makefile의 여러 가지 예제들을 제시하였다. 강좌에 나온 예제들을 조금만 바꾸면 자신의 Makefile로써 사용할 수 있다. 여기에서는 여러 가지Makefile들의 기본틀(template)들을 소개하고자 한다. 7.1 프로그램 제작에 쓰일 수 있는 Makefile여기서는 우선 가장 많이 사용되는 C와 C++에서의 Makefile을 소개하기로 한다. 여러 개의 파일들을 컴파일해서 하나의 실행 파일을 만드는 예제 틀이 바로 예제 7.1이다. 예제 7.1 .SUFFIXES : .c .o CC = gcc INC =
[Linux filesystem] ex3 파일 시스템 설정 [ 목 차 ] 1. 구성된 파일 시스템 정보 확인 2. 1024MB Disk Size의 ext3 파일 시스템 추가 3. 변경된 파일 시스템 적용을 위한 partprobe 명령어 실행 4. 파일 시스템 정보 확인 5. /dev/hda7 디스크의 ext3 파일 시스템으로 생성 6. /dev/hda7 디스크의 mount 위치 디렉토리 생성 7. /dev/hda7 디스크를 /ext3_data 디렉토리로 Mount 8. /ext3_data 디렉토리의 파일 생성 테스트 9. /ext3_data 디렉토리의 Unmount10. Rebooting 시 /ext3_data 디렉토리 Static Mount 11. mount 명령어를 이용한 /etc/fstab 설정 파일의 파일 시스템 Mount 12. Troubleshtooi..