목록프로세스 (4)
개발 무지렁이

𐂂 운영체제(os)는 실행중인 프로그램을 프로세스로 관리한다. 운영체제는 멀티프로세스를 생성해서 처리하지만, 하나의 프로세스 내에서 멀티태스킹을 할 수도 있다. 하나의 프로세스가 두가지 이상의 작업을 처리할 수 있는 이유는 멀티스레드가 있기 때문이다. 𐁍 '스레드' 란 코드의 실행흐름을 말한다. 멀티스레드는 하나의 프로세스 내부에서 생성되기 때문에 하나의 스레드가 예외를 발생시키면, 프로세스가 종료되므로 다른 스레드에 영향을 미친다. ⚠️ 멀티스레드를 사용하는 경우 예외처리에 신경써야한다. ⚠️ 멀티스레드에서는 실행 중인 스레드가 하나라도 있다면, 프로세스는 종료되지 않는다. ➼ 🦔 모든 자바 프로그램은 메인스레드가 main메서드를 실행하면서 시작된다. 멀티스레드로 실행하는 프로그램을 개발하려면 먼저, ..

프로세스와 스레드 🧶. 프로세스는 실행중인 프로그램을 말한다. (프로세스는 운영체제(os)로부터 자원을 할당받는다.) 🪡. 스레드는 실행 제어만 분리한 것을 말한다. (스레드는 프로세스로부터 자원을 할당받는다.) 컨텍스트 스위칭(Context-Switching) CPU 사용권한을 다른 프로세스에게 넘기는 과정을 말한다. CPU는 여러 작업을 조금씩 번갈아가며 실행하여 처리한다. 🥥. PCB(Process Control Block) : 각 프로세스마다 하나의 엔트리(프로세스 관리 + 메모리 관리 + 파일 관리)로 존재 ⚠️. 프로세스가 running일 경우, 레지스터 정보를 CPU 내부 레지스터에 유지 ⚠️. 프로세스가 waiting일 경우. 레지스터 정보를 PCB에 저장

𐂂 '도커(Docker)'란 무엇일까? '컨테이너'를 생성하고 관리하기 위한 '도구'다. ❓ 컨테이너란 무엇일까 애플리케이션 코드와 해당 코드를 실행하는데 필요한 종속성과 도구가 포함된 '표준화된 소프트웨어 유닛(small package)'이다. 🎯 목적: 동일한 코드와 동일한 종속성 및 도구가 있는 동일한 컨테이너는 동일한 버전을 사용하는 동일한 런타임에 항상 동일한 동작과 결과를 제공한다는 이점이 있다. 즉, 동일한 환경에서 동일한 애플리케이션을 실행할 수 있다. ⚠️ 컨테이너는 'stand alone(독립적)'으로 작동한다. ⚠️ 여기서 도커(Docker)는 컨테이너를 구축(생성하고 관리)하기 위한 도구일뿐이다. ➼ 똑같은 개발환경을 갖는 것은 상당한 가치가 있다. 로컬 환경, 개발 환경에만 애플리..

프로세스 컴퓨터가 어떤 작업을 하고 있는 상태를 말한다. 멀티태스킹을 가능하게 하는 동시성과 병렬성 ❓ 운영체제(OS)가 어떻게 여러개의 프로세스를 함께 돌릴까? 동시성* 프로세서가 여러개의 작업을 일부분씩 진행하는 것을 말한다. ※ 진행중인 작업을 바꾸는 것을 ' Context Switching '이라 한다. ※ Context Switching 이 매우 빠르게 일어나 동시에 일어나는 것처럼 보인다. 병렬성* 프로세서 하나에 여러개의 코어가 동시에 작업을 진행하는 것을 말한다. (멀티코어 프로세서) 스레드 멀티태스킹을 가능하게 하는 여러개의 프로세스(Process), 각각의 프로세스 안에서의 여러개의 갈래(작업)를 스레드라고 한다. 컴퓨터는 프로세스마다* 자원을 분할해서 할당하는데 여기서 ..