전체 글(15)
-
9.시그널
1, Signal Concepts 1) 프로그램이 예측하지 못한 이벤트가 발생했을 때, 반응을 해야 한다. - floating point error - power failure 2) Signal 는 software interruot이고 그에 맞는 handle을 시행한다. 3) signal은 몇가지 이벤트로 발생된다. signal은 process에게 전달된다. 그리고 proceess는 그 signal에 맞는 응답(some action)을 한다. 4) process의 반응 - ignore it. : signal을 무시 - Catch it : 특정 signal을 개발자가 만들어 놓은 signal handler을 수행한다. - accept the default : 다른 명시적 행동을 만들지 않고도 default..
2018.11.27 -
12 - (3) fork(), execve(), exit(), wait()
1, Process Management System Calls 1) getpid 2) getppid 3) fork 4) exec : 5) exit 6) wait : 2, getpid(2), getppid(2) #include #include pid_t getpid(void); pid_t getppid(void); 반환되는 것은 고유한 양수이다. 몇몇은 프로세스의 아이디는 항상 같은 것을 받게 된다. ex) init
2018.11.20 -
12 -(2) process create
1, Process Management (Linux/Unix 에서의) 1) 처음 UNIX를 시작하면, 한 개의 프로세스만 존재한다. "init"이란 프로세스. 이것의 PID는 '1'이다. 2) UNIX에서 새로운 프로세스를 만드는 유일한 방법은 존재하는 프로세스를 복제하는 것이다. - 그래서 모든 프로세스의 조상은 'init'이다. 예로 처음 만들어지는 child process의 parent process의 ID (PPID) 는 '1'이다. 3) 복제는 fork() 을 사용한다. 4) 복제된 프로세스는 PID, PPID, runtime을 제외하고 code, data, stack은 부모 프로세스와 같다. 5) execve() 를 이용하여 복제된 프로세스의 코드를 바꿀 수 있다. 6) fork() , exe..
2018.11.20 -
12-(1) Process 의 개요.
1, Processese 1) 개념 : porcess 는 실행되고 있는 프로그램의 instance(상태)이다. 'program' 와 'processor'(CPU) 랑 다른 의미이다. 2) 프로세스는 2개의 주요 abstraction(추상화)를 제공한다. a) logical control flow - 프로세스들 간에서 빠르게 '스위칭'을 통하여 이를 제공하여 준다. 여러개의 프로그램을 프로세스는 혼자 CPU를 사용하는 듯한 착각을 준다. b) private virtual address space - 가상 메모리 시스템이 예전의 프로세스 내용을 저장하고 새로운 프로세스의 내용을 읽어준다. 이번에는 프로세스가 혼자 메인 메모리를 다 쓰는 듯한 추상화를 제공한다. 2, Context Switching - Con..
2018.11.20 -
7. 리눅스시스템 프로그래밍: File I/O
1, Linux/Unix 안의 모든 것은 파일이다. (또는 파일로써 취급한다. ) 1) DIsk-base files : ex: /bin/ls, hello.c, hello.o 2) Special files - 실제로 존재하는 파일이 아니다. - Device files ex) /dev/tty, /dev/ttyS0
2018.11.06 -
ch7. Forier Transform
퓨리에 - 모든 함수는 cos 함수들의 합으로 표현 가능하다. 1, DFT , k = 주파수, N = 원소의 갯수(길이), y : image, x : real , r = 1 2, Inverse DFT
2018.11.02