• 티스토리 홈
  • 프로필사진
    디지털 블리자드
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
디지털 블리자드
  • 프로필사진
    디지털 블리자드
    • 분류 전체보기 (52)
      • 과제(숙제) (19)
      • 컴퓨터관련 (17)
      • 윈도우7 (16)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 2022.08.22 과제
        2022년 08월 23일
        • 디지털 블리자드
        • 작성자
        • 2022.08.23.:05

        프로세서 : CPU나 Microprocessor 라는 하드웨어를 의미합니다.(cpu 코어를 의미)
        프로세스 : 실제 메모리에 적재되어 프로세서에의해 실행되고 있는 프로그램을 의미합니다.

         

        멀티 프로세싱(Multi-processing)
        ​멀티 프로세싱은 한 개 이상의 컴퓨터 프로세서들이 협력하여 프로그램들을 처리하는 것 입니다.
        보통, 멀티코어시스템(multi-core system)을 포함한다.
        멀티 프로세싱의 장점은 하나의 프로세서가 고장이 나더라도 해당 프로세서가 진행 중인 작업은 다른 프로세서에서 수행하고 있기 때문에 작업이 정지되지 않습니다.
        ​또한, 여러 개의 프로세스가 처리되어야 할 때 동일한 데이터를 사용한다면 각 데이터를 각 프로세서에게 할당할 필요 없이 하나의 공간에 데이터를 저장한 후 이를 공유하여 사용하도록 한다면 비용을 절약할 수 있습니다.
        멀티프로세싱은 서로 협력하여 작업을 하고 있는 두 대 이상의 컴퓨터 중 한 대에 프로그램을 동적으로 할당하는 것을 의미하거나, 또는 같은 프로그램을 동시에 병렬로 처리하고 있는 여러 대의 컴퓨터들을 가리키는 일반적인 용어입니다.
        병렬처리의 출현과 함께, 멀티프로세싱은 SMP와 MPP로 나뉘어졌습니다.
        SMP에서, 프로세서들은 메모리와 I/O 버스 또는 데이터 경로를 공유하며, 한 개의 운영체계가 모든 프로세서들을 관장합니다.
        SMP는 다른 말로 "모든 것을 공유하는 시스템"이라고 할 수 있는데, 프로세서의 개수는 대개 16개를 넘지 않습니다.
        MPP는 최고 200개 이상의 프로세서들이 같은 프로그램을 처리할 수 있습니다.
        각 프로세서들은 자신들만의 운영체계와 메모리를 각각 갖고 있지만, 프로세서들 간에 메시지를 주고받을 수 있는 데이터 경로의 배열은 서로 연결되어 있습니다.
        MPP에서는 프로세서들 간에 공유 데이터베이스의 분할을 어떻게 할 것인지, 프로세서들간에 작업을 어떻게 할당할 것인지 등에 관한 구상이 요구되므로, 설정이 더욱 복잡한 것이 보통입니다.
        MPP 시스템은 "(메모리와 I/O 버스를)공유하는 것이 없는 시스템"으로 불리기도 합니다.
        멀티프로세싱을 하나의 프로세서에 두 개 이상의 프로그램이 교대로 실행되는 멀티프로그래밍과 혼동해서는 안됩니다.

         

        멀티 프로그래밍(Multi-programming)
        ​멀티 프로그래밍은 하나의 프로세서가 하나의 프로세스를 수행하는 동안 다른 프로세스에 접근할 수 있도록 하는 방법을 의미합니다.
        ​초기 컴퓨터는 하나의 프로세서가 하나의 프로세스만 처리할 수 있도록 설계되었습니다.
        하지만 하나의 프로세스를 처리하는 과정에서 프로세서의 처리 속도와 입출력 속도 간의 차이로 인해 입출력 처리가 완료될 때까지 기다리는 비효율적인 상황이 발생하게 됩니다.
        ​멀티 프로그래밍은 입출력이 완료될 때까지 기다리는 시간을 버리지 말고 다른 프로세스를 처리할 수 있도록 해주는 것입니다.
        멀티프로그래밍이라는 용어는 대부분의 컴퓨터 운영체계가 멀티프로그래밍을 지원하므로 잘 쓰이지 않는 용어가 되었습니다.

         

        멀티 태스킹(Multi-tasking)
        ​멀티 태스킹은 다수의 작업(Task)을 운영체제의 스케줄링에 의해 번갈아 가며 수행되도록 해주는 것을 의미합니다.
        ​프로세서는 특정 순간에 하나의 작업만 수행할 수 있습니다.
        하지만 우리는 컴퓨터를 사용할 때 인터넷도 사용하고 게임도 하는 등 다양한 작업을 동시에 사용할 수 있습니다.
        ​이는 운영체제가 다수의 작업을 스케줄링하여 우리가 느끼지 못하는 시간마다 작업을 번갈아가며 수행하여 우리 눈에는 동시에 수행되는 것처럼 보이게 해주기 때문입니다.
        ​멀티 태스킹의 스케줄링 방식은 멀티 프로그래밍 방식(Multi-programming), 시분할 방식(Time-sharing), 실시간 시스템 방식(Real-time)을 사용하여 수행합니다.
        ​멀티 프로그래밍은 위에서 언급하였고 시분할 방식은 CPU의 전체 사용 시간을 작은 작업 시간량으로 분할하여 그 시간량 동안 작업에게 번갈아가며 CPU를 할당해 주는 방식을 의미합니다.
        ​실시간 시스템 방식은 말 그대로 실시간으로 처리해 주는 것을 의미합니다.

         

        멀티 스레딩(Multi-threading)
        ​멀티 스레딩은 하나의 프로세스를 다수의 스레드로 구분하여 자원을 공유하고 자원의 생성과 관리의 중복성을 최소화하여 수행 능력을 향상시키는 것을 의미합니다.
        ​즉, 하나의 프로세스가 동시에 여러 개의 스레드를 수행할 수 있도록 해주는 것입니다.
        ​하나의 프로세스에는 하나 이상의 스레드가 존재할 수 있습니다.
        프로세스를 생성하는 비용보다 스레드를 생성하는 비용이 더 저렴하기 때문에 프로세스에 다수의 스레드를 생성하여 병렬처리하는 것입니다.
        ​또한, 프로세스는 데이터, 힙, 스택 영역을 서로 공유하지 않지만 스레드는 스택 영역을 제외한 데이터, 힙 영역을 서로 공유하기 때문에 메모리 부분에서도 훨씬 효율적입니다.

         

        동기(Synchronous)
        데이터의 처리가 순서대로 진행되며, 이전 데이터의 처리가 끝난 다음에서야 다음 처리를 할 수 있습니다.
        동기는 의미 그대로 동시에 일어난다는 뜻입니다.
        요청과 그 결과가 동시에 일어난다는 것인데. 바로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 합니다.
        어떠한 작업이 순차적으로 실행되는 개념이며, 요청을 하면 결과가 반환되는 것을 기다려야 합니다.
        동기방식 설계는 매우 직관적이지만, 결과 반환까지 대기해야 하는 시간이 비효율적인 단점이 있습니다.

        비동기(ASynchronous)
        데이터의 처리 순서는 지정 한 순서대로 시작하지만, 먼저 시작한 데이터의 처리가 끝나지 않아도 수행합니다.
        이런 방식으로 여러 데이터의 처리가 동시 다발 적으로 진행 할 수 있습니다.(시작과 종료가 다 다르고, 다양하게 처리됩니다.)
        비동기는 동시에 일어나지 않는다는 의미입니다. 요청한 결과는 동시에 일어나지 않을거라는 약속입니다.
        어떠한 작업이 동시에 일어날 수 있는 개념이며, 요청과 결과 반환이 동시에 일어나지 않습니다.
        비동기방식 설계는 병렬적으로 작업을 진행하기 때문에 효율적이지만, 설계가 복잡한 단점이 있습니다.

        동기와 비동기는 상황에 따라 각각 장단점
        동기방식은 설계가 매우 간단하고 직관적이지만 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점이 있습니다.
        비동기 방식은 동기보다 설계가 복잡하지만 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있는 장점이 있습니다.

         

        출처 : 
        https://sorjfkrh5078.tistory.com/56
        http://www.terms.co.kr/multiprocessing.htm
        https://velog.io/@chy0428/OS-%EB%A9%80%ED%8B%B0%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EB%A9%80%ED%8B%B0%ED%94%84%EB%A1%9C%EC%84%B8%EC%8B%B1
        https://koras02.tistory.com/87
        https://velog.io/@ongsim123/CS7-%EC%B9%B4%ED%8E%98-%EC%A3%BC%EB%AC%B8-%EC%9D%B4%EB%B2%A4%ED%8A%B8
        https://comain.tistory.com/324

         

        저작자표시 비영리 변경금지

        '과제(숙제)' 카테고리의 다른 글

        2022.08.25 과제  (0) 2022.08.26
        2022.08.23 과제  (0) 2022.08.24
        2022.08.18  (0) 2022.08.19
        2022.07.26 과제  (0) 2022.07.27
        2022.07.25 과제  (0) 2022.07.25
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바