728x90
반응형
인스턴스
- 일반적으로 실행 중인 임의의 프로세스, 클래스의 현재 생성된 오브젝트를 가르킨다.
- 객체 ( 오브젝트 ) 의 인스턴스는 데이터베이스나 SGA, 백그라운드 프로세스 프로세스 등 광범위한 컴퓨터 시스템 자원의 접근에 할당된 물리 메모리의 일부를 가르킨다.
- 응용 프로그램 (application) 을 메모리에 띄운 것
- 예를 들어서 메모장을 바탕화면에 띄웠을 때 그것은 하나의 인터턴스인 것이다. 그런데 바탕화면에 메모장을 여러 개 띄울 수 있다. 그 때 인스턴스는 여러 개가 되는 것이다.
- 객체 지향 프로그래밍(OOP)에서 인스턴스(instance)는 해당 클래스의 구조로 컴퓨터 저장공간에서 할당된 실체를 의미한다. 여기서 클래스는 속성과 행위로 구성된 일종의 설계도이다.
- OOP에서 객체는 클래스와 인스턴스를 포함한 개념이다.
- 이해하기 쉽게 일반적인 단어로 설명하자면, 계산 문제를 '입력과 출력이 명확히 기술된 것'으로 수학적으로 정의할 때, 계산 문제의 입력이 될 수 있는 것은 무한히 많이 존재하고 그것들 하나하나를 해당 계산 문제의 인스턴스라고 부른다.
프로세스
- 현재 실행 중인 프로그램
- 상기의 여러 인스턴스들 가운데서 초점 (focus)이 있는 것을 프로세스라고 한다.
- 메모리에 적재되고 CPU 자원을 할당받아 프로그램이 실행되고 있는 상태.
멀티 태스킹
- 멀티태스킹이란 OS를 통해 CPU가 작업하는데 필요한 자원(시간)을 프로세스 또는 스레드간에 나누는 행위.
- 이를 통해 여러 응용 프로그램을 동시에 열고 작업 할 수 있다는 장점이 있다.
- 음악을 들으면서, 웹서핑을 하고, 메신저의 메시지를 확인할 수 있는 이유는 모두 멀티태스킹 덕분이다.
멀티 쓰레드
- 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다.
- 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다.
멀티 쓰레딩
- 멀티스레딩(multithreading) 컴퓨터는 여러 개의 스레드를 효과적으로 실행할 수 있는 하드웨어 지원을 갖추고 있다.
- 이는 스레드가 모두 같은 주소 공간에서 동작하여 하나의 CPU 캐시 공유 집합과 하나의 변환 색인 버퍼 (TLB)만 있는 멀티프로세서 시스템 (멀티 코어 시스템)과는 구별한다.
- 그러므로 멀티스레딩은 프로그램 안에서 병렬 처리의 이점을 맛볼 수 있지만 멀티프로세싱 시스템은 여러 개의 프로그램들을 병렬로 처리할 수 있다.
- 멀티프로세싱 시스템이 여러 개의 완전한 처리 장치들을 포함하는 반면 멀티스레딩은 스레드 수준뿐 아니라 명령어 수준의 병렬 처리에까지 신경을 쓰면서 하나의 코어에 대한 이용성을 증가하는 것에 초점을 두고 있다.
❤ 글이 도움이 되었다면 좋아요 / 구독 부탁 드립니다 ❤
728x90
반응형
'TEAM STUDY > 한 권으로 읽는 컴퓨터 구조와 프로그래밍' 카테고리의 다른 글
이제는 '컴파일과 인터프리터' 모르면 안됨 🔊 (3) | 2021.12.30 |
---|---|
Hash Table ( 해시 테이블) 에 대해 알아보기 😤 (0) | 2021.12.29 |
Java Map 헷갈리는 부분 다시 정리. 😅 (0) | 2021.12.27 |
[ 컴퓨터 지식 ] - 부동 소수점 (0) | 2021.12.05 |
바쁜 직장인들이 삼색볼펜 스터디 시작하며 (0) | 2021.12.03 |