본문 바로가기

Linux(Centos or RHEL)

(30)
sleep과 wait의 차이? wait는 지정한 프로세스의 자식 프로세스를 포함해서 프로세스들의 작업이 끝나기를 기다리는 것이고, sleep은 프로세스를 정해준 시간만큼 잠시 멈추는 것입니다. sleep의 예시 [root@centos77 ~]# sleep 3 # 여기서 3초간 정지 [root@centos77 ~]# sleep 3& [1] 5204 [root@centos77 ~]# [1]+ Done sleep 3 [root@centos77 ~]# wait의 예시 [root@centos77 ~]# sleep 10 & [1] 5205 [root@centos77 ~]# sleep 20& [2] 5214 [root@centos77 ~]# sleep 30& [3] 5216 [root@centos77 ~]# wait %1 %2 %3 [1] Don..
프로세스를 TASK_UNINTERRUPTIBLE 상태로 바꾸는 함수...? 프로세스를 TASK_UNINTERRUPTIBLE 상태로 바꿀 때 호출되는 함수들에 대해서 공부를 해 보았습니다. 커널 버전은 v2.6.39.4 입니다. 아래 블로그를 참고하였습니다. http://rousalome.egloos.com/10003493 [리눅스커널] 스케줄링: TASK_INTERRUPTIBLE 상태로 바뀔 때 호출되는 함수 TASK_UNINTERRUPTIBLE 상태로 바뀔 때 호출하는 함수 분석 다음 함수가 호출될 때 프로세스 상태를 TASK_UNINTERRUPTIBLE로 바꿉니다.  io_wait_event()  mutex_lock()  usleep_range()  msleep()  wait_for_completion() io_wait_eve rousalome.egloos.com ..
프로세스를 TASK_RUNNING(실행 대기) 상태로 바꾸는 함수...? TASK_RUNNING(실행 대기)로 바뀔 때 호출되는 함수들에 대해서 공부를 해 보았습니다. 아래 블로그를 참고하였습니다. http://rousalome.egloos.com/10003490 [리눅스커널] 스케줄링: TASK_RUNNING(실행 대기)로 바뀔 때 호출되는 함수 - p TASK_RUNNING(실행 대기)로 바뀔 때 호출하는 함수 분석 프로세스가 다음과 같은 동작을 수행할 때 실행대기(TASK_RUNNING) 상태로 바꿉니다.  프로세스를 깨울 때  프로세스를 처음 생성하고 실행 요청을 할 때  프로세스 관련 정보를 업데이트 할 때 보통 휴면 중에 있는 프로세스를 깨우면 프로세스는 실행대기(TASK_RUNNING)상 rousalome.egloos.com 프로세스의 상태를 TASK_RUN..
namespace를 이용하여 컨테이너들을 고립시켜보자 해당 글을 아래의 튜토리얼을 테스트 해 본 것입니다. https://www.katacoda.com/courses/docker-security/userns-user-namespaces User Namespaces | Docker Security | Katacoda Learn the latest technologies with our hands-on labs www.katacoda.com 배경지식 linux에서의 namespace란? 리눅스에서 namespace는 lightweight 가상화 솔루션이다. XEN이나 KVM 같은 가상화 솔루션들은 커널 인스턴스들을 생성하여 동작시키는 것에 반하여 리눅스의 namespace는 커널 인스턴스를 만들지 않고 기존의 리소스들을 필요한 만큼의 namespace로 분리하..
프로세스? 1.1 멀티태스크 리눅스 커널은 멀티태스킹을 지원한다. 이를 이용하여 동시에 여러 프로세스를 동시에 실행하고, 교대로 시스템의 자원을 사용할 수 있게 합니다. 동시에 라고는 하지만, 일정 시점에 시스템에 탑재되어있는 CPU의 수 이상으로 프로세스를 실행하는 것은 불가능합니다. 1.2 프로세스란? 프로세스는 컴퓨터 내에서 실행중인 프로그램의 인스턴스입니다. 하지만 프로세스가 실행 중인 프로그램 코드만을 뜻하는 것은 아닙니다. 조금 더 구체적으로 설명하면 사용 중인 파일, 대기 중인 시그널, 커널 내부 데이터, 프로세서 상태, 하나 이상의 물리적 메모리 영역이 할당된 메모리 주소 공간, 실행중인 하나 이상의 스레드 정보, 전역 데이터가 저장된 데이터 부분 등 모든 자원을 포함 하는 개념입니다. 따라서 다시 ..
컨테이너가 새로운 권한을 얻는것을 제한하기 해당 글은 아래의 튜토리얼을 바탕으로 작성하였습니다. https://www.katacoda.com/courses/docker-security/no-new-privileges Use No New Privileges flag to restrict additional access | Docker Security | Katacoda Learn how to restrict applications with correct flags gaining root access. Learn Step 1, Step 2, Step 3, via free hands on training. www.katacoda.com 배경지식으로 linux에서의 real user와 effective user에 대해서 공부할 필요가 있습니다. 그리고,..