본문 바로가기
반응형

분류 전체보기174

[Linux File System] Yocto Project 2 이전 글 먼저 진행해야됩니다! [Linux File System] Yocto Project Linux에서 부팅되고, 로그인되고, 다양한 데몬 구동, 배쉬 할당 등을 위해 반드시 필요한 파일들을 Root File System이라고 함. 폴더 만드는 건 생략. rootfs와 그 하위에 yocto 디렉터리 생성 필요한 패키 program-developers-story.tistory.com ubuntu08@ubuntu08-VirtualBox:~/pi_bsp/rootfs/yocto/poky$ source oe-init-build-env ubuntu08@ubuntu08-VirtualBox:~/pi_bsp/rootfs/yocto/poky/build/tmp/deploy/images/raspberrypi4$ ls 해보면.. 2024. 2. 20.
Ubuntu TCP/IP 단체 채팅 프로그램 기본은 전체 전송하는 메시지 그냥 string을 쳐주고 enter를 치면 전송됨. 패킷은 사이즈에 따라 돈을 내야함. 불필요한 패킷은 없애야함. 프로세스라고 보면 할 일 없을 때 sleep을 해야되는데, 자신의 메시지도 아닌데 interrupt로 깨어나서 처리해야되니, 괜히 깨어난거임. 고로 1대1 메시지 기능이 있음. [13] ㅇㅇ 이런식으로 보내면 13번에게만 메시지를 보내줌. [idlist]를 치면 접속되어 있는 클라이언트의 리스트가 쭉 나옴. 여러 client와의 통신연결이 서로 다른 스레드에서 지속적으로 이어져 있고 각각의 동작을 하기 때문에, 전역변수, 전역함수를 mutex로 막아줘야함. ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ.. 2024. 2. 20.
IPC(Inter-Process-Communication) C언어 실습 IPC(Inter-Process-Communication) 프로세스들은 상호간의 활동을 조정하기 위하여 프로세스간, 커널과 통신을 하기 위한 메커니즘임. *IPC 기법 종류 1. Signal -초기 UNIX에서 사용했었고, 특정 이벤트를 종료할 때 사용 2. Pipe 3. Socket 4. Message Queue 5. Semaphore 6. Shared Memory(Kernel Memory) 멀티프로세스 기반의 다중접속 서버는 잘 안만듬. 이유는 하나의 프로세스마다 cpu에 많은 부담을 주게 되고 context는 굉장히 많은 메모리를 필요로 하므로 커널에도 부담이 됨. 프로세스 간 context swtiching 할 때도 굉장히 부하가 크고, 몇개 안될 때는 문제 안되겠지만 접속 수가 늘어날 수록 문제.. 2024. 2. 19.
ubuntu와 ubuntu간 nfs 설정 ubuntu@ubuntu8:~$ vi .profile 최하단에 아래 코드 추가 28 if [ -f /mnt/nfs.sh ] ; then 29 . /mnt/nfs.sh 30 fi ubuntu08@ubuntu08-VirtualBox:/mnt$ sudo cd /mnt ; sudo mkdir lect_nfs ubuntu08@ubuntu08-VirtualBox:/mnt$ sudo chmod 777 lect_nfs ubuntu08@ubuntu08-VirtualBox:/mnt$ sudo vi nfs.sh #!/bin/bash SERVIP=10.10.15.71 if ! df | grep lect_nfs > /dev/null ; then ping -c 1 $SERVIP > /dev/null if [ $? -eq 0 ] .. 2024. 2. 19.
[Linux] fork()와 exec()를 이용한 프로세스 생성 과정 ubuntu@ubuntu8:~/pi_bsp/kernel$ gcc fork.c -o fork *fork system call return 값을 통해 어떤 프로세스인지 확인이 가능함 -1: 에러 / 0: 자식 프로세스 / 다른 값 : 부모 프로세스 *fork()와 exec()를 사용한 프로세스 생성 부모 프로세스가 종료될 때 자식프로세스가 종료되지 않는 걸 좀비 프로세스라고 하는데, 이를 방지하기 위해 아래 단계를 따르는게 좋음. 1.현재 프로세스에서 fork() 호출 2.자식 프로세스가 fork()로 부터 0 값이 반환 되면 exec()를 호출하여 새로운 프로그램으로 바꾼다. 3.부모 프로세스는 wait()를 호출하여 자식 프로세스의 종료를 기다리고, 자식 프로세스가 종료 되었다는 정보를 받으면 프로세스 .. 2024. 2. 19.
[Linux File System] Linux Root File System * Root File system은 부팅시 fstab파일을 실행하고 파일의 코드가 동작하면서 root file system을 mount합니다. pi@pi08:/etc $ vi fstab ubuntu@ubuntu8:~/pi_bsp/rootfs$ wget https://downloads.raspberrypi.org/NOOBS_latest ubuntu@ubuntu8:~/pi_bsp/rootfs$ unzip -d noobs NOOBS_latest ubuntu08@ubuntu08-VirtualBox:~/pi_bsp/rootfs$ du -h -d 1 noobs/ 1.3M noobs/overlays 48K noobs/defaults 2.8G noobs/os 2.8G noobs/ ubuntu@ubuntu8:~/pi_b.. 2024. 2. 19.
[Linux File System] Yocto Project Linux에서 부팅되고, 로그인되고, 다양한 데몬 구동, 배쉬 할당 등을 위해 반드시 필요한 파일들을 Root File System이라고 함. 폴더 만드는 건 생략. rootfs와 그 하위에 yocto 디렉터리 생성 필요한 패키지 다운로드 ubuntu@ubuntu8:~/pi_bsp/rootfs/yocto$ $ sudo apt update//필수 패키지 설치 $ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm python zstd liblz4-tool Git 코드 다운로드 poky (ubuntu 20.04 버전에 맞는게 Release 4.0.. 2024. 2. 19.
[Jetson Nano] 젯슨 나노 OS 이미지 올리기 1. SD 카드 초기화 - SD 카드 64GB 이상 권장(최소 32GB) SD 카드 포멧터 다운로드 www.sdcard.org/downloads/formatter/eula_windows/ SD Memory Card Formatter for Windows Download - SD Association BY DOWNLOADING, INSTALLING OR USING THE PRODUCT, THE ENTITY OR INDIVIDUAL ENTERING INTO THIS AGREEMENT AGREES TO BE BOUND BY THE FOLLOWING TERMS. IF YOU DO NOT AGREE WITH ANY OF THESE TERMS, DO NOT DOWNLOAD, INSTALL, OR USE THE PR.. 2024. 2. 16.
반응형