Operating System : 운영체제

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

1) Processes Concept

@ 먼저 Process 개념을 공부해볼까요?

 

@ Computer System을 들여다보면 많은 일들이 일어납니다.

    // Ex) interrupt, 자원 점유 등

    // 각각 일들에 대해서, 원인과 결과를 귀속시킬 대상이 필요합니다.

        > 그 대상이 바로 Process입니다. (잘 정리하기 위해서)

 

@ 첫 째, Process는 OS위에서 프로그램을 수행시키는 기본 주체입니다.

    // 기본 주체라는 것은 runtime 시스템의 수행 주체라는 의미를 가집니다. 

        > 또한 이는 CPU나 여러가지 자원을 할당을 받는 주체이기도 합니다.

    // 그렇기에, OS의 관점에서 Process는 가장 중요한 단위입니다.

 

@ 둘 째, 컴퓨터 안에서 많은 일들이 일어날 때 잘 쪼개서 정리를 해야합니다.

    // 이러한 작업을 Decomposition이라고 부릅니다.

        > 그리고 이 Decomposition의 한 유닛이 Process입니다.

 

@ 컴퓨터 S/W는 점점 복잡해지고 있습니다.

    // (심지어는 S/W crisis라고도 얘기를 합니다.)

        > 그렇기 때문에 우리같은 S/W공학자들은 그 복잡도를 해결할 수 잇는 무기를 가지고 있어야 합니다.

            .. 그 중 하나는 Abstraction 입니다.

            .. 다른 하나는 Decomposition 입니다.

 

Decomposition 무엇일까요?

    // 어떤 커다란 S/W가 존재합니다. 이 상태로는 이해하기가 너무 힘듭니다.

        > 그럼 자연스럽게 저희는 쪼개게 됩니다.

            .. 그렇게 저희는 저희가 managable해서 분석하거나, 설계하기 쉬워질 때까지 조각을 냅니다.

    // 이와 같이 복잡한 문제를 단순한 여러개의 문제로 나누어 처리하는 방법론입니다.

    // 이를 적절히 잘 사용하면 S/W의 복잡성을 해소하는 것이 가능합니다.

 

@ 구현에 있어서도 조각 조각들을 따로 구현하고 같이 수행시킨다면 매우 편리할 것입니다.

    // 한 마디로, 나누어진 조각이 궁극적으로, (프로그램) 수행의 단위가 되었을 때

        > 이것들이 바로 Process가 되는 것입니다.

 

@ 그리고 OS는 이런 조각들을 독립적으로 수행시킬 수 있는 Unit으로

    // Process라는 개념을 잘 지원하고 있습니다.

 

@ 이와 같이 Process는 

    // 수행의 주체

    // 복잡한 것을 단순하게 만들어주는 주체

        > 로 활용이 될 수 있습니다.

댓글

댓글 본문
버전 관리
박천명
현재 버전
선택 버전
graphittie 자세히 보기