일반 USER 가 짠 프로그램으로도 시스템이 죽을 수 있나요?
글쓴이: yob / 작성시간: 수, 2004/12/29 - 11:30오전
일반 user 가 잘못 작성한 프로그램의 영향으로
시스템이 죽을 수도 있는지 궁금합니다
작성된 프로그램들은
소켓통신하는 프로세스 50 여개 정도
내부적인 프로세스들끼리의 통신은 Unix Socket 을 사용하고
60 여개정도의 프로세스들이 있습니다
몇일 전에 시스템이 죽었는데..
이상하게 시스템 영역을 너무 많이 잡아먹는다는 생각이 들어서요;;;;;
시스템 영역이 일반적으로 20%정도를 차지하고요~
많이 올라갈때는 40%정도까지 올라갑니다
USER 영역은 일반적으로 10%정도를 차지하고 많이 올라갈때는 15~40까지 올라갑니다
Forums:
특별하게 제작되면 죽일 수도 있습니다.
특별하게 제작되면 죽일 수도 있습니다.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
충분히 죽을 수 있다고 생각합니다. 위에 말씀하신 대로 잘 짠다면 문제가
충분히 죽을 수 있다고 생각합니다. 위에 말씀하신 대로 잘 짠다면 문제가 없겠지만...
실수든 고의든 무한 루프에 빠졌는데, 계속 new 등으로 시스템 자원을 쓴다면 문제가 있을 수 있습니다.
얼마전에 본 기사에서는 full load 의 CPU 를 테스트하는게 있더군요. 6일동안인가... 인텔 CPU 는 한번 리부팅되었다는 얘기를 들었는데... 여튼 죽일 소지는 충분히 있습니다 ^^;;
-----------------------------------------------------------------------
GPL 오픈소스 윈도우용 이미지 뷰어 ZViewer - http://zviewer.wimy.com
블로그 : http://blog.wimy.com
$ cat > 1.plwhile(1) { system "perl
$ cat > 1.pl
while(1) { system "perl 1.pl"; }
^D
$ perl 1.pl
한번 해보세요.
원격으로 연결하셨다면 몇초안에 연결 끊기고 시스템관리자한테 연락올겁니다.
^^;;
일반 사용자 프로세스로인해 시스템이 다운되는 경우
reboot되는 경우는 H/W결함 외에는 경험해보지 못했구요.
사용자 프로세스가 아주 많이 생겼을 경우에는 vfork() 또는 fork() 에러가
나면서 신규 프로세스를 생성할 수 없기 때문에 down 과도 같은 현상이
발생합니다. 이런경우는 사용자별 max 프로세스 갯수를 조절하여 오류를
특정 사용자로 국한 시킬 필요가 있습니다.
만약 사용자가 system을 죽인다면 그건 OS버그가 아닌가요?
만약 사용자가 system을 죽인다면 그건 OS버그가 아닌가요?
흠..가능은 하지만 저도 OS버그라고 생각 합니다.
시스템을 죽이는 몇가지 코드를 가지고 있긴 하지만 ,
이는 커널 패치로 수정이 되는 것을 보면 저도 OS버그란 생각이 드네요.
new 나 fork등을 이용하여 시스템 자원을 무한 루프로 얻어 오게 된다면 , 시스템이 느려지지 시스템이 죽는 경우는 없는 것으로 알고 있습니다. 그리고 할당할 자원이 없다면 해당 라이브러리 Call시에 Fail을 Return하는 것으로 경험하고 있는데요..
특정한 코드를 집어 넣지 않았다면 , 프로그램에서 OS를 죽일수 있는건 힘들다고 생각 합니다. 참 드라이버단의 프로그램을 짜신다면 충분히 죽일 수 있는 가능성은 있습니다. ^^
싸인문구;;남들은 멋있게 쓰던데..난 멀해야 할까..
여러 답변 감사합니다일단 하드웨적으로든 소프트웨어적으로든 문제가
여러 답변 감사합니다
일단 하드웨적으로든 소프트웨어적으로든 문제가 생길 소지가
있다는 것은 확실한 것 같군요
소프트웨어 점검 과 하드웨어 점검을 동시에 들어가야될 것 같네요
참.. 제일 난감한 경우군요;;;;;
댓글 달기