본문 바로가기

all95

프로세스 ID 프로그램 : 저장 매체에 저장되어 있는 바이너리, 코드 이미지, 응용 프로그램 프로세스 : 실행 중인 프로그램 (메모리에 올라오고, 프로세스 상태 정보(PCB)를 포함한다.) 스레드 : 리눅스 프로세스는 기본 스레드를 포함한다. pid : 최대값은 2의 15승 (32768) 부호형 16비트 정수값 계층 init process : pid = 1 init process는 OS가 생성 pid 값 확인하기 ps -ef //-e : 시스템 상의 모든 프로세스 정보를 출력 //-f : 다음 목록을 출력 (UID, PID, PPID, CPU%, STIME, TTY, TIME, CMD) 프로세스 / 소유자 관리 : 리눅스 내부에서는 프로세스 소유자와 그룹을 UID/GID 정수로 관리한다. ps -ef sudo vi /.. 2021. 7. 5.
ABI와 표준 C library 유닉스 C library - libc 리눅스 C library - GNU libc C complier 유닉스 C complier - cc 리눅스 C complier - GNU cc - gcc sudo apt-get install gcc gcc --version gcc -o test.c test ABI (Application Binary Interface) 응용 프로그램 바이너리 인터페이스 함수 실행 방식, 레지스터 활용, 시스템 콜 실행, 라이브러리 링크 방식 등 ABI 호환 = 재컴파일 없이 동작 컴파일러, 링커(라이브러리 링크), 툴체인(컴파일러 만드는 프로그램)에서 제공 POSIX 유닉스 시스템 프로그래밍 인터페이스 '표준' 2021. 7. 3.
시스템 콜과 API 시스템 프로그램 기반 요소 시스템 콜 C lib C complier 시스템 콜의 구현 eax register에 시스템 콜 번호를 넣는다. eax register에 시스템 콜 인자값을 넣는다. 소프트웨어 인터럽트 명령 호출하며 0x80 값을 넘겨준다. API : 응용 프로그램과 분리된 하위 호환 인터페이스 동적 라이브러리 정적 라이브러리 2021. 7. 3.
소프트 링크 ln -s [original file] [linked file] 소프트링크 [심볼릭] 링크 : '바로가기' 만들기랑 완전히 동일 (원본 파일을 가르키기만 한다.) 특수 파일 디바이스 블록 디바이스 저장 매체 캐릭터 디바이스 마우스, 키보드 2021. 7. 2.