포인터 사용이유

함수 호출시 메모리를 통으로 복사해서 사용하면 너무 느리니깐요. 메모리 위치만 주고 받으면 빠르죠. 포인터란 자료가 저장되는 기억장치의 기억주소를 가리키는 지시자로써 포인터는 다른 �

oper6210.tistory.com

 

포인터를 쓰는이유에대해 깊게 고찰해봐야겠다.. 

이때까지 너무 무심하게 사용한듯

'Computer Science' 카테고리의 다른 글

컴파일과정  (0) 2020.06.16
폰노이만 구조란  (0) 2020.06.16

 

 

[C언어 강좌-2] C언어 컴파일 과정

안녕하세요 피터입니다. 오늘은 지난시간에 이어 C언어의 컴파일 과정에 대해 설명드리겠습니다. 앞서 여러분이 작성했던 Hello world 코드가 컴퓨터에서 실행이 되려면 우선 컴파일(Compile) 과정��

gracefulprograming.tistory.com

 

'Computer Science' 카테고리의 다른 글

[C language] 포인터를 왜쓸까  (0) 2020.06.16
폰노이만 구조란  (0) 2020.06.16

 

 

폰 노이만 (Von Neumann) 구조

폰 노이만 (Von Neumann) 구조 프로그램과 데이터를 하나의 메모리에 저장하여 사용하는 방식  데이터는 메모리에 읽거나 쓰는 것이 가능하지만 명령어는 메모리에서 읽기만 가능하다   폰 노이�

codingisgame.tistory.com

 

 

[컴퓨터 개론] 컴퓨터 구조 - 하버드, 폰노이만 구조

컴퓨터 구조 1. 하버드 구조 * 프로그램을 실행 시, 프로그램 내에서 형용되는 코드의 명령어는 명령어 메모리로 들어가고, 데이터는 데이터 메모리로 들어간다.  ex)  3+6을 해라! -> 명령어  3+6

sibalja.tistory.com

 

'Computer Science' 카테고리의 다른 글

[C language] 포인터를 왜쓸까  (0) 2020.06.16
컴파일과정  (0) 2020.06.16

 

 

[리눅스] 시그널 (SIGNAL)1 시그널 다루기(시그널 핸들러)

시그널 의미전달에 사용되는 대표적인 방법은 메세지와 신호입니다. 메세지는 여러가지 의미를 갖을 수 있지만 복잡한 대신 , 신호는 1:1로 의미가 대응되기 때문에 간단합니다. 신호등이 가장 �

reakwon.tistory.com

 

'System Programming' 카테고리의 다른 글

[Linux]좀비프로세스와 고아프로세스  (0) 2020.06.21
[Linux] gdb 디버깅  (0) 2020.06.16
[Linux] 프로세스 실행 (exec)  (0) 2020.06.15
[Linux] 프로세스 생성(fork)  (0) 2020.06.15
[Linux]주요 명령어  (0) 2020.06.15

 

 

 

 

 

쉘안에서 나만의 쉘 만들기를 해보았다.

결국 exec계열의 함수는 현재프로세스를 해당디렉토리의 실행파일로 덮어씌운다.

마지막 wait은 메인프로세스가 자식프로세스들이 끝나기를 기다리는것이다(메인프로세스가 먼저 끝나버리면 안되니)

하지만 while(1) 무한반복으로 자식프로세스가 끝날리는 없다. exit해야 비로서 프로그램 종료라고 할 수 있다.

 

 

 

myshell ver1.0

 

 

 

 

 

리눅스 exec 계열 함수

#include int execl(const char *path, const char *arg0, ..., const char *argn, (char *)0); path에 지정한 경로명의 파일을..

prorion.tistory.com

 

'System Programming' 카테고리의 다른 글

[Linux] gdb 디버깅  (0) 2020.06.16
[Linux] signal  (0) 2020.06.16
[Linux] 프로세스 생성(fork)  (0) 2020.06.15
[Linux]주요 명령어  (0) 2020.06.15
[Linux] gcc compiler & vim  (0) 2020.06.15

 

 

 

fork 를 함으로써

부모프로세스는 pid>0인 자식프로세스 pid를 반환받아 getpid로 자신의 pid와 부모프로세스 id를 출력하고 종료한다.

하지만 이와 별도로 fork 된 자식프로세스가 계속 프로그램을 수행하는것처럼 보인다.

 

이와같이 부모프로세스가 자식프로세스보다 먼저 끝나면 남은 자식프로세스가 고아프로세스가 되지만, 일단 이와별도로 fork의 원리에 대해 공부해보았다.

 

 

 

 

linux man page : fork - 자식프로세스를 생성한다.

 

www.joinc.co.kr

 

'System Programming' 카테고리의 다른 글

[Linux] gdb 디버깅  (0) 2020.06.16
[Linux] signal  (0) 2020.06.16
[Linux] 프로세스 실행 (exec)  (0) 2020.06.15
[Linux]주요 명령어  (0) 2020.06.15
[Linux] gcc compiler & vim  (0) 2020.06.15