DA_DA 2015. 9. 24. 10:07

프로세스란?

프로세스 : 실행중인 프로그램

프로그램 : 하드디스크에 파일 형태로 저장되어 있는것

프로그램은 프로세스를 어떻게 만들지에 대한 광범위한 정보를 담고 있는 파일


운영체제의 실행파일 형식

유닉스, 리눅스 : ELF 포멧 형식을 사용

Windows : PE포멧을 사용


참고 사이트 : https://ko.wikipedia.org/wiki/PE_포맷


PE 포맷(Portable Executable) : 마이크로소프트의 윈도 3.1부터 지원되는 실행 파일의 형식

유닉스 COFF(Common Object File Format)를 기반으로 나왔으며PE 포맷을 사용하는 파일의 확장자는 cpl, exe, dll, ocx, vxd, sys, src, drv가 있음.

악성코드 중에는 cpl, scr 형태의 확장자로 배포 되므로 사용자가 주의 해야한다.


프로세스의 상태

신규 : 프로세스가 생성된 상태

준비 : 프로세스가 처리기의 배정을 기다리고 있는 상태

실행 : 프로세스의 명령이 실행되고 있는 상태

대기 : 프로세스가 어떤 사건이 발생되기까지 기다리고 있는 상태

종료 : 프로세스의 실행이 종료된 상태



관련 그림은 추후에.. 



프로세스의 생성

프로세스는 다른 프로세스를 fork()를 이용하여 생성하고 exec()계열의 함수에 의해서 실행한다.


  • 부모프로세스(parent process) : 자식 프로세스를 만드는 프로세스
  • 자식프로세스(child process) : 부모프로세스의 의해 생성된 프로세스

부모와 자식은 자원의 일부 혹은 전부를 공유하거나 운영체제로 부터 자원을 할당 받는다.


프로세스 실행 측면의 두가지 가능성

fork()로 자식을 생성하면 부모 프로세스와 자식 프로세스가 동시에 실행됨.

부모는 자식의 일부 또는 전부가 종료될때까지 wait

부모는 wait되지 않게 하기 위해서 & 명령어 뒤에 입력해야 한다.


주소 공간의 경우에서의 두가지 가능성

자식은 부모의 복사판(fork())

자식프로세스는 별도의 프로개름을 적재 exec()계열의 함수 man execl


프로세스의 종료

exit 명령 : 자신의 마지막명령이 수행된 후 운영체제에게 요청한후 자신은 종료됨.

abort 명령

강제종료, 부모 프로세스만이 권한 행사

Xwindows 종료가 되면 Xwindow에서 실행된 프로세스들 모두 종료됨.

부모 종료가 되면 자식들도 따라서 강제로 종료됨.

부모 프로세스가 종료되면 자식들을 init프로세스가 걷어 들인다.



.......

ps 명령어 옵션

 

-a : 다른 이용자의 프로세스까지 나온다

-e : 작업환경까지 나오게 한다

-f : 전체 경로로 프로세스를 표시한다

-l : 자세한 정보를 보여준다

-m : 메모리 정보까지 나온다

-r : 현재 실행하고 있는 프로세스를 보여준다

-u : 각 프로세스의 이용자 이름과 시작 시각을 보여준다

-w : 긴(wide) 형태로 출력한다. 한 행 안에 출력이 잘리지 않는다

-x : 로그인 상태에 있는 동안 아직 끝나지 않은 프로세스를 보여준다


 



















반응형