Developer

Pod?Pod는 쿠버네티스에서 공유 리소스를 나타내는 하나의 집합Pod = Container Group(docker) + Storage + Networking + Container 실행 정보 (1) Pod 생성kubectl create -f [ .yaml 경로 ] (2) Pod 목록 정보 받아오기kubectl get pods (3) Pod에 대한 상세 정보kubectl describe pods [ Pod 이름 ] (4) Pod에 대한 로그를 확인kubectl logs [ Pod 이름 ] -f : 실시간 로그 스트림을 확인할 수 있다. Port Settings(1) 메인 IP에서 port forwarding을 하기 위한 명령어kubectl port-forward [ Pod 이름 ] [ dst_port:sr..
Docker-> 리눅스 O.S 환경에서 가상으로 Bin, Filesystem을 구축하여 Application을 배포할 수 있는 환경을 제공하게 해주는 SW Docker 명령어 정리 [1] 현재 사용중인 Docker의 build한 이미지를 출력docker images [2] 현재 돌고 있는 Docker들을 나타냄 ( -a : 과거의 이력을 포함하여 출력 )docker ps (-a) [3] 만든 application을 build 해주는 명령어docker build -t [ name:tag ] name : (node-app).js 에서의 node-app tag : version [4] 만든 이미지를 기반으로 실행하는 명령어docker run -p [ Host_Port:Conatiner_Port ] --name..
· Developer/OS
Virtual Memory프로그램을 만들 때 한정된 메모리의 크기를 고려해야 된다면, 프로그래머에게 굉장한 부담으로 다가온다.이를 해결하기 위해, 프로그램의 메모리 크기를 크게 지정하여 주소로 배분하는 방식이다.∴ 중요한 것은 가상메모리와 실제 메모리 사이의 Mapping 기법이 중요!!!Page Table위에서 말한 Mapping 작업을 진행하기 위해서는 Page Table이 필요하다. Frame Valid 보통은 Frame에 들어있는 자료가 실제 메모리가 올라온 상태고, valid는 비트는 메모리가 올라와 있는지 아닌지 나타내주는 상태비트이다. ▶ Page Table 크기 구하는 방법◀ 1개의 Page크기 = 4Kbyte컴퓨터의 주소공간 크기 = 4Gbyte 일 떄,4..
· Developer/OS
Memory FragmentationRAM에서 메모리의 공간이 작은 조각으로 나뉘어져 사용가능한 메모리가 존재하지만, 할당이 불가능한 상태 ① 내부 단편화(Internal Fragmentation)- 프로세스가 필요한 양보다 더 큰 메모리가 할당되어서 메모리 공간이 낭비되는 상황② 외부 단편화(External Fragmentation)- 작은 메모리가 중간중간에 존재해서 메모리 공간은 충분하지만 실제로 할당할 수 없는 상황 ※ 해결방법(1) 페이징(Paging) : 가상메모리를 통한 외부 단편화 해결 ( 내부 단편화 존재 )-> 사용하지 않는 프레임을 페이지에 옮기고, 필요한 메모리를 페이지 단위로 프레임에 옮기는 기법 used by page table (2) 세그멘테이션(Segmentation) : 가..
· Developer/OS
모니터세마포의 단점을 개선하기 위해 조금 더 캡슐화하여 프로그래머가 정의한 ADTcf> 세마포의 단점?1. wait()가 와야되는데 , signal()이 옴 = 여러 프로세스들이 임계구역에 접근2. signal()이 와야되는데, wait()가 옴 = 교착상태에 빠짐 ● Monitor 구조 예시 12345678class monitor{ public: void procedure(); void function(); private: int count;};cs 하지만, 모니터 역시 세마포와 똑같은 단점들이 존재한다. ○ 프로세스가 자원에 대한 허락을 받지 않고 자원에 엑세스한 경우○ 프로세스가 자원에 대한 허락을 받은 다음 그 자원을 방출하지 않은 경우○ 프로세스가 자원에 대한 허락을 받지 않았는데도 그 자원을 ..
· Developer/OS
공동구역? 프로세스는 여러 가지 쓰레드로 나뉠 수 있다. 여러 개로 나뉘어지는 쓰레드 중에서 자원을 공유할 수 있게 되는데,이에 대한 처리가 너무너무너무너무 중요하다. int a = 2; while(1) {} int b = 3; while(1) {} int c = 4; while(1) {} 쓰레드1 쓰레드2 쓰레드3 프로세스(공유 자원)Critical Area= 임계구역, 각각의 쓰레드가 공통으로 사용하는 프로세스의 자원○ 이에 대한 동기화 작업이 이뤄지지 않으면, 치명적인 결함으로 이루어질 수 있다. 1. Mutual Exclusion(상호 베타) : 데이터는 반드시 한 순간에 하나의 쓰레드만 이용해야 한다.2. Progress(진행) : 쓰레드 사이에서 누가 먼저 접근할 것인가를 정해진 시간내에 결정..
huisam
'Developer' 카테고리의 글 목록 (18 Page)