System

    Python에서 Win32 API 활용하기 - ctypes 모듈

    개요 Python으로 Windows OS에서 제공되는 강력한 기능을 활용하려면 Win32 API를 활용해야 한다.이를 위해 Python용 외부 함수(foreign function) 라이브러리인 ctypes를 활용해 보자.ctypes는 C 호환 데이터형을 제공하며, DLL 또는 공유 라이브러리에 있는 함수를 호출할 수 있다.또한 Windows, Linux, Unix, OS X, Android 등 다양한 운영체제에서 지원하는 Native Library를 사용할 수 있는 강력한 도구이기도 하다. ctypes는 동적 라이브러리 호출 절차를 단순화하고, 복잡한 C 데이터 형을 지원하며 Low Level 함수를 제공한다는 장점이 있다. DLL 로딩 ctypes는 cdll, windll, oldell 호출 규약을 지..

    Fork로 자식 프로세스 생성 실습

    (추후 수정) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include #include #include #include #include int main(int argc, char *argv[], char *env[]) { pid_t my_pid, parent_pid, child_pid; int status; // get and print my pid and my parent's pid. my_pid = getpid(); parent_pid = getppid(); printf("\nParent : My PID is %d.\n\n", my_pid); printf("Paren..

    레지스터의 종류 - 범용 레지스터, 세그먼트 레지스터, 플래그 레지스터

    1. 범용 레지스터 (General Purpose Register) 작은 데이터의 임시 저장 공간으로, 연산 처리 및 데이터의 주소를 지정하는 역할을 한다. 컴퓨터의 장치들을 제어하는 역할 또한 수행한다. EAX 산술 연산 및 논리 연산 수행 EBX 메모리 주소 저장 ECX 반복문 사용 시 반복 카운터로 사용 반복할 횟수 지정하고 반복 작업 수행 EDX EAX 레지스터와 같이 쓰임 부호 확장 명령 등에 사용 큰 수의 곱셈 또는 나눗셈 연산 EDI 복사할 때 목적지 주소 저장 ESI 데이터를 조작하거나 복사할 때 데이터의 주소 저장 ESP 메모리 스택의 끝 지점 주소 포인터 EBP 메모리 스택의 첫 시작 주소 포인터 EIP 다음에 실행해야 할 명령어의 주소 포인터 2. 세그먼트 레지스터 (Segment R..

    [2. 리눅스 운영 및 관리] 01 파일 시스템 관련 명령어 (1) - 권한 및 그룹 설정

    · 리눅스 시스템의 모든 파일과 디렉터리에는 접근권한 (permission)과 소유권(ownership)이 부여된다.· ls -al 명령어로 파일 속성을 확인할 수 있다. 1234[kinew@localhost ~] $ ls -ltotal 4drwxrwxr-x. 2 kinew kinew 6 Jan 28 22:59 KINEW-rw-rw-rw-. 1 kinew kinew 65 Jan 25 12:34 pettle.txtcs -rw-rw-rw-. 1 kinew kinew 65 Jan 25 12:34 pettle.txt ① ② ③ ④ ⑤ ⑥ ⑦ 속성 값 의미 ① - rw-rw-rw- ㉠ ㉡ · 파일 허가권(permission) · ㉠ : 파일 유형, ㉡ : 파일 접근 권한 ② 1 · 물리적 파일 연결 개수 ③ ki..

    [1. 리눅스 일반] 03 리눅스의 기본 명령어 (3) - 기타 명령어

    1. 네트워크 관련 명령어 가. ping : 외부 호스트에 신호를 보내고 응답을 받아 네트워크 연결 확인 · 형식 : ping [옵션] [도메인명 or IP 주소] 옵션 설명 -c [요청 수] ping을 보낼 횟수. 생략시 무제한으로 실행. -i [초] 신호를 보내는 시간 간격. 생략시 1초 단위로 설정. -s [패킷 크기] 전송하는 패킷 크기를 byte 단위로 설정 나. traceroute : 목적지 호스트까지의 경로 표시 + 정보 기록 · 형식 : traceroute [도메인명 or IP 주소] 다. nslookup : 도메인명으로 IP 주소 조회, IP 주소로 도메인명 조회 · 형식 : nslookup [옵션] [도메인명 or IP 주소] 옵션 설명 -type=[레코드] 레코드 타입 지정 · nsl..

    [1. 리눅스 일반] 03 리눅스의 기본 명령어 (2) - 디렉터리 및 파일

    1. 디렉터리 관련 명령어 가. pwd : 현재 작업 중인 디렉터리 위치 표시 나. cd (Change Directory) : 디렉터리 이동 1) 절대 경로 : 시작 위치와 상관없이 경로에 모든 디렉터리 표시 2) 상대 경로 : /(루트)에서부터 시작 · 형식 : cd [상대경로 or 절대경로][설정경로] 설정 경로 설명 ~ 현재 사용자의 홈 디렉터리로 이동 . 현재 디렉터리 .. 현재에서 한 단계 상위 디렉터리로 이동 / 루트 디렉터리 다. mkdir (make directory) : 새 디렉터리 생성 · 형식 : mkdir [옵션] [디렉터리명] 옵션 설명 -m 디렉터리를 생성할 때 권한 설정(디폴트는 755) -p 상위 경로 생성 -v 디렉터리 생성 후 생성된 디렉터리의 메시지 출력 라. rmdir..

    [1. 리눅스 일반] 03 리눅스의 기본 명령어 (1) - 사용자 생성 및 계정 관리

    1. 리눅스 명령어 개요 가. which 1) 명령어 경로 확인 2) 명령어 위치를 찾아주거나 alias를 보여주는 명령어 3) 사용자가 현재 위치에서 명령을 실행시켰을 때 어떤 명령이 실행되는지를 알고 확인할 수 있다. 4) $PATH가 설정되어 있는 경로에서만 해당 명령어의 경로를 찾는다. · 형식 : which [명령어] ex) httpd, pwd, m 위치 확인12345678[kinew@localhost ~] $ which httpd/usr/sbin/httpd[kinew@localhost ~] $ which hmalias m='ls -al | more' /bin/ls /bin/more[kinew@localhost ~] $ which pwd/bin/pwdcs 나. alias · 자주 사용하는 명령어..