반응형

전체 글 798

System - 03. exec () 계열. 프로세스 이미지 대체

/* * http://sosal.tistory.com/ * made by so_Sal */ exec 함수라는것은 사실 없고, exec 계열이라고 말한다. exec로 시작되는 여러 함수를 통칭하여 exec 계열이라고 한다. exec 계열의 함수는 프로세스를 대체해버린다. system()함수는 프로세스 실행 도중에 다른 프로그램을 실행시켜 끝날때 까지 기다린후 새로 실행시킨 프로그램의 동작이 끝나게 되면 다시 원래 프로세스로 돌아와 일을 계속 한다. 하지만 exec 계열의 함수는 현재 프로세스를 새로운 프로그램으로 대체해버린다. exec 함수들을 이용하면 현재 프로그램의 실행을 다른 프로세스에게 넘겨줄 수 있다. 새 프로그램이 시작된 후에는 원래의 프로그래밍 더 이상 실행될 필요가 없다는 점에서 system..

Socket - 04. 다중 프로세스 네트워크 프로그래밍

/* * http://sosal.tistory.com/ * made by so_Sal */ 일반적으로 서버 프로그램은 불특정 다수의 클라이언트로부터 서비스 요청을 처리할 수 있는 다중 사용자 서버 (Multi-user server)로 개발됩니다. 다중 사용자 서버는 반복 처리 서버(Iterative Server)와 동시 처리 서버(Concurrent Server)로 개발될 수 있습니다. 반복 처리 서버는 개발하기 쉽고 이해하기 쉽지만, 사용자가 많아질 경우 클라이언트가 서비스를 위해 대기하는 시간이 길어질 수 있기 때문에 현실적으로 사용하기 어렵습니다. 동시 처리 서버는 다수의 클라이언트로부터 서비스 요청을 동시에 처리함으로써 서비스 제공을 보장합니다. 대표적인 모델은 다중프로세스와 다중 스레드 등이 존..

Object file - ELF 파일

/* * http://sosal.tistory.com/ * made by so_Sal */ ELF :: Executable and Linking Format의 약자로, 실행 가능한 바이너리 또는 오브젝트 파일 등의 형식을 규정한것 ELF 파일은 ELF 헤더가 반드시 맨 앞에 위치하고, 프로그램 헤더 테이블과 섹션 헤더 테이블이 그 뒤에 위치합니다. 헤더의 구조는 elf.h를 참조하세요. b ELF에서 사용하는 자료형 elf 바이너리에는 32비트와 64비트, 두가지가 있습니다. 자료형 N = 32 N = 64 설명 ElfN_Half uint16_t uint16_t 부호 없는 16 비트 값 ElfN_Word uint32_t uint32_t 부호 없는 32 비트 값 ElfN_Sword int32_t in..

Linux/Linux_technic 2009.10.23

od - 바이너리 파일 덤프

/* * http://sosal.tistory.com/ * made by so_Sal */ od = octal dump (octal = 8진법)라는 의미로, 바이너리 파일을 8진수로 덤프해서 줄력하는 명령어입니다. od /bin/bash | head -5 head -5 는 출력되는 줄의 윗부분 5줄만 거른다는 뜻입니다. 맨 왼쪽 00000*0은 시작점으로부터의 offset을 8진수를 표시한 것입니다. (offset은 좌측 메모리 시작점을 0으로 하여 숫자를 통해 위치를 알려주는 좌표계 역할을 함) 2바이트씩 8개, 16바이트씩 출력하기 때문에 00,20,40... 으로 늘어나게 됩니다. 출력 형식 지정 (-t 명령어) 형 의미 a 문자의 이름(7비트 ASCII) c ASCII 문자 또는 escape 문..

Linux/Linux_technic 2009.10.23

File - 파일종류 확인

/* * http://sosal.tistory.com/ * made by so_Sal */ file 명령어를 이용하면 임의의 파일이 무엇인지 조사할 수 있습니다. 윈도우에선 파일 확장자를 정해 두고 파일명을 통해 그 종류를 추측하는 방법을 사용합니다. 하지만 리눅스에서는 확장자가 존재하지 않기 때문에, 임의의 파일의 종류를 알기 위해선 이 명령어가 필요하게 됩니다. /usr/bin/file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped -i 옵션을 주면 MIME 미디어 타입 문자열로 표시..

Linux/Linux_technic 2009.10.22

C++ 학생정보 링크드리스트 코드 소스

/* * http://sosal.tistory.com/ * made by so_Sal */ #include //기본 입력,출력 헤더파일 #include // 시간 관련 헤더파일 #include using namespace std; // std클래스 사용 void add(); void del(); void mod(); void find(); void print(); void exit(); void random_data(); void menu(); struct student { int id; char name; int kor; int eng; int math; int total; char grade; struct student *H; struct student *T; };// 구조체 선언 struct stu..

C++ class date 코드

/* * http://sosal.tistory.com/ * made by so_Sal */ #include #include using namespace std; class date{ private: int year, month, day; // default is private int max_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //각 month의 최대 day입니다. public: date(); //생성자 함수 void set_date(int y, int m, int d); void prev_day(); void next_day(); void print_date(); // 모든 함수는 main함수 아래에 정의되어 있습니다. }; int main(){ dat..

반응형