[컴퓨터 기초] 컴퓨터의 구성요소와 아바타

Robert.Yang·2023년 3월 20일
1

컴퓨터 기초

목록 보기
16/28
post-thumbnail

이 강좌는 널널한 개발자님의 강의를 기반으로 작성한 글입니다.

컴퓨터의 구성요소와 아바타

컴퓨터의 구성요소

  • Computer는 H/W와 S/W로 구성된다.
  • S/W는 Application과 System S/W로 구분된다.
  • 가장 대표적인 System S/W는 OS이다.

프로그램, 프로세스, 스레드

  • 프로그램은 설치하는 것이다.
  • 설치된 프로그램을 실행하면 운영체제가 설치된 프로그램을 프로세스로 만들어준다.
  • 프로세스는 환경적(관리) 단위이다.
  • 프로세스는 PID라고 사람으로 치면 주민등록번호같은 것을 부여받는다.
  • 스레드는 프로세스 속에 존재하는 실행(연산)단위이다.
  • 스레드 단위로 실행(연산)이 된다.
  • 프로세스는 적어도 1개이상의 스레드를 가지고 있다.
  • 스레드는 프로세스에게 할당된 자원(메모리)을 공유한다.
  • OS는 메모리같은 전산자원(메모리)을 프로세스에게 부여하고 그 부여받은 자원을 스레드들이 같이 사용한다.
  • 컴퓨터라는 세상에서 당신의 유전자는 프로그램이고, 프로세스라는 모습으로 존재한다.

쉽게 보면 우리가 메이플이라는 게임을 통하여 막 사냥을 하고 퀘스트를 하고 할 것이다. 이때, 우리는 메이플이라는 것을 로그인 한다. 이 때 '나'라는 프로세스가 생성이 되는 것이다. 이 때, '나'라는 프로세스가 컴퓨터에서 쉘이 되는 것이다. 즉, 우리가 컴퓨터를 키고 로그인 하면 가장 먼저 작동되는 것이 shell이다.

용도에 따른 기억공간의 구분

기억공간 즉, 메모리라는 것이 용도에 따라 구분이 된다. 가장 대표적인 공간이 stack,heap이라는 공간이다. stack이라는 공간은 스레드가 사용하고 있으며, heap이라는 공간은 프로세스 전체가 사용하고 있다. 쉽게 애기하면 stack은 각자 방을 의미하고 heap은 거실처럼 공용공간을 뜻한다. 그럼 예를 들어 스레드가 4개가 동작한다고 보면 stack도 4개가 존재한다고 봐도 된다. 그럼 왜 공간을 구분했을까? 왜냐하면 동시성 문제라던데 앞에서 설명한 문제들을 해결하기 위하여 공간구분을 한 것이다.

profile
모든 것을 즐길 줄 아는 개발자, 양성빈입니다.

0개의 댓글