Linux (4) 썸네일형 리스트형 [Linux] Host와 Hosting이란? Host와 HostingHost의 개념에어비엔비에서 집주인을 host라 하고, 그 집에 잠시 상주 하는 사람을 guest라 부른다. 집주인은 집을 일정기간 빌려주어 사람들에게 서비스를 제공한다. 마찬가지로 해당 컴퓨터 주인을 host 부르며, 조금 더 정확히는 네트워크 망에 연결된 다른 디바이스에게 데이터를 제공할 수 있는 디바이스를 호스트라 한다. 그렇다면 네트워크에 연결되어 있을려면 무엇이 필요한가? 인터넷상의 주소가 필요하다. 그것이 IP(Internet Protocol)이다. 그중에서도 인터넷 상의 고유의 주소인 Public IP가 필요하며, 디바이스가 통신망에 연결되어 있어야한다. 디바이스가 인터넷 주소가 있으면, 그 집에서 서비스를 제공할 수 있으므로 host로서 역할을 할수 있게 된다. 따라.. [Linux] Scheduling과 Context Switching Multi Tasking와 Multi Processing에서 언급한 OS의 Scheduling을 이해를 위한 글이다.Multi TaskingScheduling 대해서 보기전에 Multi Tasking을 살펴보자. 예제는 CPU의 core는 1개이고, process는 2개이다. Process A는 스레드가 1개, Process B는 스레드가 2개 있다. 프로세스는 실행 환경과 자원을 제공하는 컨테이너 역할이고, 실제 CPU 코어를 사용해서 코드를 하나 하나 실행하는 것은 스레드이다. 1. CPU의 Core가 Process A에 있는 Thread A1를 실행한다. 2. Process A에 있는 Thread A1의 실행을 잠시 멈추고 Process B에 있는 Thread B1를 실행한다. 3. Process .. [Linux] Multi Tasking와 Multi Processing Multi Tasking단일 프로그램 실행예를 들어, 연산을 처리하는 CPU 코어를 하나라고 가정한다. 이때, 음악 프로그램으로 노래를 들으면서 워드 프로그램을 사용하면 어떻게 되나? 음악 프로그램을 종료된 이후에 워드 프로그램으로 문서 작업을 할수 있다. 프로그램의 실행은 프로그램을 구성하는 코드를 순서대로 CPU가 연산하는 것이다. 앞서 가정했듯이 CPU 코어가 하나라면, 한번에 하나의 프로그램의 코드를 실행할수 있다. 이러한 문제점을 해결하기 위해서, 하나의 CPU 코어로 여러 프로그램들을 동시에 실행하는 multi tasking 기술이 등장했다. Multi Tasking이란?컴퓨터 시스템에서 하나의 코어로 동시에 여러 작업(프로그램)을 수행하는 능력을 Multi Tasking이라 한다. 다만,.. [Linux] 리눅스의 파일 I/O 자원 관리 I/O Resource Leak 발생 상황Java 애플리케이션에서 입출력(I/O)관련 클래스를 사용하여, 파일을 read() 했다면 close() 메서드를 호출해야 한다. 파일을 열은 후에 닫지 않으면 파일 디스크립터가 참조하는 자원이 메모리에서 해제되지 않아서 자원 누수(Resource Leak)가 발생할 수 있다. 자원이 누수되면 프로세스나 시스템에서 열 수 있는 파일의 수가 줄어들며, 결국 새 파일을 열 수 없게 될수 있다. 그렇다면 파일 디스크립터(File Descriptor)는 무엇이고, 어떠한 자원을 어떻게 참조하는지 알아보자.File Descriptor의 참조 자원리눅스의 파일 시스템에서는 프로세스마다 파일 디스크립터 테이블(File Descriptor Table)이 할당되고, 프로세스가 .. 이전 1 다음