컴퓨터 공부/Advanced UNIX System Programming 29

[5월 7일 1교시] 프로세스 관계 + 데몬 프로세스

BSD 터미널 로그인 1. init프로세스의 자식은 getty 프로그램 실행 2. getty프로그램 : login이름을 받고 login 프로그램 수행. execle("/usr/bin/login","login","-p",username,(char*)0,envp); 3. login   - password를 입력받아 암호화(crypt)하여 /etc/passwd파일과 비교.  - 패스워드가 맞으면 $HOME변경 및 터미널 소유자를 로그인 한 ..

[5월 6일 2교시] 프로세스 제어 4 + 시스템 정보 1

(265~267쪽 소스 참고) wait3함수를 이용하여 종료된 프로세스의 자원정보를 얻을 수 있음. shell에서 'time 프로그램명'과 비슷함. system함수 #include<stdlib.h> int system(const char *cmdstring); 라이브러리 함수. fork, exec, waitpid함수로 구성. 리턴  - fork나 waitpid의 EINTR외의 리턴이면 -1  - exec가 실패하면 _exit(127)  - ..

[4월 30일 2교시] 프로그램 개발 환경2 + 프로세스1

Make Utility 목적  - 대규모 소프트웨어 생성을 위한 도구  - 소스의 consistency 유지 형식  - 의존성(dependency) 부분 : target이름과 target을 만들 때 필요한 파일을 명세  - 명령(command) 부분 : 반드시 tab으로 시작. target1 : 의존성 부분 [탭키]명령어 부분 의존성 부분 all : shell에서 make만 입력하면 all부분을 ..

[4월 30일 1교시] 프로그램 개발 환경1

프로그래밍 단계 소스코드 -> 컴파일러 -> 오브젝트 코드 -> 링커(startup code, library code 포함)-> 실행가능한 코드 startup code : main code를 수행할 수 있도록 하는 code 컴파일러 세부기능: 전처리기 -> 컴파일 -> 어셈블 GCC C 컴파일러 옵션 -c : 소스파일을 컴파일하고 어셈블한다.  -S : 컴파일하고 어셈블 ..