2022-06-13 리눅스_디바이스_드라이버_5

Featured image for 2022-06-13 리눅스_디바이스_드라이버_5

Makefile 연습 main.c Makefile -O2 : Optimization 최적화, 최적화 레벨 2 gdb라는 디버거를 사용할 때는 위의 CFLAGS를 사용한다. 이유는 -O2 옵션을 사용하면 최적화를 위해서 코드의 순서가 변형되기에 -g의 이용이 불가하다. 그래서 디버깅 때는 위에 라인을, 디버깅이 끝나면 아래 코드를 사용하도록 한다. gdb는 the GNU Project debugger다. 출처 : https://jangpd007.tistory.com/220 출처 : https://jangpd007.tistory.com/220 [참 놀라운 세상:티스토리] … 더 읽기

2022-06-13 리눅스_디바이스_드라이버_4

/dev 디렉터리 /dev 디렉터리?? In Unix-like operating systems, a device file or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. Linux의 모든 디바이스는 /dev 디렉터리 아래에 위치하고, 모두 file로 인식된다. These special files allow an application program to interact with a … 더 읽기

2022-06-05 리눅스_디바이스_드라이버_3

Featured image for 2022-06-05 리눅스_디바이스_드라이버_3

hello.c의 Makefile 주의점 : 넓게 띄어 쓴 부분은 tab을 사용한다. Space bar를 사용하면 오류 난다. 핵심은 커널의 소스가 있는 디렉터리와 hello.c가 위치한 디렉터리를 오가며 컴파일한다는 것이다. 완벽히 이해하려 노력했지만 모르는 것이 많아서 그럴 수 없었다. (교수님이 조금이라 설명해주시면 좋을 텐데…) 이해할 수 있게 된다면 그때 다시 와서 볼 수 있도록 하자. 출처 : https://kldp.org/node/73511 출처 … 더 읽기

2022-06-05 Makfile_이해

gcc C언어의 컴파일 과정 -o : 생성 된 파일의 이름을 지정 출처 : https://reakwon.tistory.com/52 make 지금부터 작성한 글은 아래 포스트를 많이 참고해서 작성했습니다. 출처 : https://bowbowbow.tistory.com/12#make-와-makefile 파일이 많으면 컴파일하기 힘들다. 컴파일 및 관리를 편하게 하기 위해서 Makefile과 make를 이용한다. Makefile에 컴파일 및 관리를 수행하는 방식을 규정하고 make 명령어로 실행한다. Makefile의 구성 길이가 긴 공백은 tab를 … 더 읽기

2022-06-02 리눅스_디바이스_드라이버_2

설치 리눅스 드라이버 작업을 수행할 때는 슈퍼 유저로 작업한다. 출처 : https://junshim.github.io/linux kernel study/Linux_Kernel_Compile/ build-essential은 개발에 필요한 기본 라이브러리와 헤더 파일 등을 포함한다. 없으면 컴파일이 안될 수 있다. 추가로 ncurses 라이브러리들을 빌드하여 설치할 때 필요하다고 한다. libncurses5, libncurses5-dev : Developer’s libraries for ncurses. ncurses (new curses) is a programming library providing an application programming interface … 더 읽기

리눅스 apt 서버 변경

미국에 있는 서버를 사용하면 다운로드 속도가 느리다. apt 서버를 최대한 가까운 곳으로 변경하자. 한국은 카카오에서 관리한다. (우분투를 사용 중이기 때문에 거기에 맞춰서 변경해주었다.) 보통 처음에 경우 archive.ubuntu.com 혹은 kr.archive.ubuntu.com으로 설정되어있을 것이다. 전자의 경우 미국, 후자의 경우 한국(카이스트)에 위치한 서버일 것이다. 우리는 한국기준 평균적으로 가장 빠른 속도를 제공하는 카카오의 서버를 사용할 것이다. 출처 : https://bigbigpark.github.io/linux/change_repo/ [Ubuntu] 우분투 저장소 … 더 읽기

2022-05-12 리눅스_디바이스_드라이버_1

Featured image for 2022-05-12 리눅스_디바이스_드라이버_1

Device란? 네트워크 어댑터, LCD 디스플레이, 오디오, 터미널, 키보드, 하드디스크, 플로피디스크, 프린터 등과 같은 주변 장치를 뜻함. 디바이스의 구동을 위해서 디바이스 드라이버가 필요함. Device Driver란? 실제 device를 추상화하여 사용자 프로그램이 정형화된 인터페이스를 통해 디바이스를 제어할 수 있도록 하는 프로그램. 디바이스 제어에 필요한 정형화된 인터페이스를 구현하기 위하여 요구되는 함수와 자료구조의 집합체. 응용 프로그램이 하드웨어를 제어할 수 있도록 … 더 읽기

2022-05-09 awk_정리

Featured image for 2022-05-09 awk_정리

awk Aho, Weinberger, Kernighan 3명의 개발자 이름에서 첫 글자를 따왔다. 주로 오크라고 발음한다. 유닉스에서 개발된 스크립트 언어다. 원본 문서에서 패턴을 검사해 원하는 값을 얻는다. 각 줄(line)은 레코드(Record), 단어들을 **필드(Field)**라고 부른다. 기본적으로 레코드는 줄 바꿈으로 구부하고 필드는 공백으로 구분한다. 참고로 필드구분자를 변경할 수 있는 방법도 있다. 옵션 설명 -F 확장된 정규 표현식으로 필드구분자를 지정한다. 다중 필드 … 더 읽기

리눅스 원격 서버 파일 송수신

  출처 : https://daebaq27.tistory.com/73 출처 : https://eehoeskrap.tistory.com/543 SCP SCP : SeCure coPy. ssh를 이용하여 네트워크로 연결된 호스트 간에 파일을 주고받는 명령어 SFTP SFTP : Secure File transfer protocol sftp로 연결된 상태에서 cd, pwd, ls -al 등 일부 명령어도 사용할 수 있다.

2022-05-06 리눅스_사용자_생성_관리_전환

[리눅스 / 유닉스]사용자 관리(사용자 추가 useradd, passwd파일, 시스템계정 ) https://jhnyang.tistory.com/10 useradd 사용자가 추가되었지만 홈 디렉터리가 없다. 사용자와 함께 홈 디렉터리를 자동으로 생성하는 명령어 /etc/passwd 사용자의 목록을 저장하고 있는 파일. 파일 내부 분석 사용자 계정명 패스워드 user id group id 기타 정보 홈 디렉터리 로그인 쉘 root 😡 :0 :0 :root :/root :/bin/bash (x=암호화 별도로 저장) … 더 읽기