본문 바로가기

리눅스32

[리눅스 API] 사용자와 그룹 /etc/passwd : 시스템 패스워드파일로 사용자 계정별로 한 줄씩 기록되어 있고, 줄마다 다음과 같이 콜론(:)으로 구분된 7개의 필드로 이뤄져 있다. mkt:x:1000:100:Mokga:/home/mkt:bin/bash 각 필드는 순서대로 다음과 같다. 로그인 이름, 암호화된 패스워드, 사용자 ID, 그룹 ID, 주석, 홈 디렉토리, 로그인 쉘 /etc/shadow : 암호화된 패스워드를 저장하여 특권 프로그램만 읽을 수 있도록 함(shadow 메뉴얼 참고) /etc/group : 그룹별로 한 줄씩 기록되어 있고, 줄마다 다음과 같이 콜론으로 나뉜 4개의 필드로 이뤄져 있다. users:x:100: jambit:x:106:claus,felly,frant,mkt,mok 각 필드는 순서대로 다음과 .. 2015. 8. 5.
[리눅스 API] 메모리 할당 힙 메모리 할당 힙 : 프로세스의 초기화되지 않은 데이터 세그먼트 바로 뒤에서 시작하는 가변 크기 세그먼트로, 연속되 가상 메모리로 이뤄져 있으며, 메모리가 할당되고 해제됨에 따라 자라고 줄어든다. 프로그램 브레이크 : 힙의 현재 한도 #include int brk(void *end_data_segment) : 성공하면 0을 리턴하고, 에러가 발생하면 -1을 리턴 - 프로그램 브레이크를 end_data_segment 가 가리키는 위치로 설정, 가상 메모리는 페이지 단위로 할당되므로, end_data_segment는 실제로는 다음 페이지 경계로 올림된다. void *sbrk(intptr_t increment) : 성공하면 0을 리턴하고, 에러가 발생하면 (void *) -1을 리턴 - 프로그램 브레이크를 .. 2015. 8. 3.
[리눅스] 파일시스템 리눅스에서 쉘은 여러 종류가 있고 쉘마다 특징이 있습니다. 쉘은 크게 본쉘(bash), C쉘(csh), 콘쉘(ksh)이 있습니다. 레드핫계열의 리눅스의 디렉토리 구조는 다음과 같습니다. 디렉토리 명 설 명 / 루트 디렉토리 /bin 가장 필수적인 실행명령 /boot 커널,LILO 등 부팅에 관련된 파일 /dev 장치파일 모음 /etc 시스템 전체 설정파일 /home 사용자의 홈디렉토리 /lib C 라이브러리 등 가장 필수적인 공유 라이브러리 /mnt 임시 마운트용 디렉토리 /proc 시스템 정보를 위한 가상적인 디렉토리 /root 루트 사용자의 홈 디렉토리 /sbin 시스템 관리용 실행파일 /tmp 임시 파일 생성용 디렉토리 /usr 어플리케이션이 설치되는 디렉토리 /var 시스템 운영중 생성되는 각종 .. 2015. 7. 31.
[리눅스 API] 프로세스 프로세스 : 실행중인 프로그램 프로그램 : 실행 시에 프로세스를 어떻게 만들지에 대한 광범위한 정보를 담고 있는 파일 프로그램에 포함된 내용 1. 바이너리 포맷 식별자 : ELF(Executable and Linking Format) 를 채택 2. 기계어 명령 3. 프로그램 진입점 주소 4. 데이터 5. 심볼 테이블과 재배치 테이블 6. 공유 라이브러리와 동적 링크 정보 7. 기타정보 #include pid_t getpid(void) : 언제나 성공적으로 호출자의 프로세스 ID 를 리턴 pid_t getppid(void) : 언제나 성공적으로 호출자의 부모의 프로세스 ID 를 리턴 세그먼트 : 각 프로세스에 할당된 메모리는 흔히 세그먼트라고 부르는 여러 영역으로 나뉜다. 1. 텍스트 세그먼트 2. 초기화.. 2015. 7. 27.