본문 바로가기
  • think normal
기획 노트/핏과 결에 대한 소고

"프로세서에 의해 실행 중인 프로그램"의 의미

by 청춘만화 2023. 1. 21.
유튜브에서 시스템 반도체관련 영상을 보다 인상적인 문구가 있어 옮겨본다.
예산이 적고 뭐가 적다고 해서 우리나라 영화 산업이 영화 잘못 나온 거 아니지 않는가. 지금 우리 관점에서 새롭게 조직을 만들고 여기에서 우리의 강점과 또 우리의 새로운 영향들을 잘 집합을 해서 이걸 갖다가 새로 설계하고 있다. 
아이디어들의 한두개로 되는게 아니라 아이들이 수백 수천개들이 가장 이제 그 균형이 있고 어떻게 보면 아름답고 그리고이 목적에 맞게 이게 융합이 돼서이 제품이 나오는 과정이다. 
결국은 그 과정인 거죠이 프로세스가 되게 중요한 거고이 프로세스의 혁신이 그리고 이 업을 바라보는 관점의 혁신이 저는 스타트업의 핵심이라 생각하거든요. 어떻게 보면 과거의 조직보다 훨씬 더 강력한 조직들이 탄생하고 있는 것과 같다.
그냥 아이디어로 작은 조직이 몇 개 아이디어로 번뜩이나 아이디어를 뭔가 이거를 한다 이런 거라기 보다는 과거에 있던 우리의 어떤이 반도체 칩을 보고 하는 것보다 훨씬 더 강력한 그런 토대와 프로세스를 구축해서 그걸 갖다 우리가 스케일을 하는 과정이다. 퓨리오사 대표의 유튜브 인터뷰  

 

그리고 퓨리오사 대표가 말하는 프로세서에 대한 키워드를 조금 더 찾아보았다. 그리고 인터넷을 통해 우연히 아래와 같은 글을 접하게되었다. 

프로세서(Processor)는 하드웨어적인 측면에서 "컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛"이다.  이는 중앙처리장치(Central Processing Unit)를 뜻하며 폰노이만 아키텍쳐에 의해 만들어졌다면 적어도 하나 이상의 ALU (Arithmetic Logic Unit)와 처리 레지스터(Register)를 내장하고 있어야 한다.
소프트웨어적으로 프로세서라 함은 데이터 포맷을 변환하는 역할을 수행하는 데이터 프로세싱 시스템(데이터 처리 시스템)을 의미하며 출력 가능한 인쇄물을 생성하는 워드프로세서, 컴파일러, 어셈블러 등 프로세서라 부른다.

 

프로세스( 프로그램)는 말 그대로 "절차(과정)" 입니다. 때문에 스스로 무언가를 처리하지 못합니다. 프로세스는 특정 목적을 수행하기 위해 나열된 작업의 목록이라고 생각하여야 합니다. 즉 프로그램이죠. 컴퓨터에서 프로그램은 프로그래밍 언어로 작성된 작업 수행 과정일 분입니다.프로그래머가 작성한 소스코드와 소스코드가 컴파일되어 기계어로 번역된 바이너리파일도 그저 작업 과정이 기록된 파일일 뿐입니다.
작업의 과정이 파일로 저장되어 있으면 그것을 "프로그램"이라고 부르고 메모리에 적재되어 실행 중 이거나 실행 대기 중일 땐 "프로세스"라고 구별하여 부를 수 있습니다. 즉 프로세스는 "메모리에 적재되어 프로세서에 의해 실행중인 프로그램" 이라고정의하는 것이 정확할 것입니다.

 

컴퓨터가 프로그램을 실행하는 과정
1. 사용자가 단축 아이콘 혹은 명령행에서 프로그램을 실행한다. 
2. 파일로 저장되어 있던 프로그램은 메모리(램)에 로더(Loader)에 의해 적재(load)되고 처음으로 실행해야 할 기계어 코드가 저장된 메모리의 주소를 CPU의 명령주소(IP : Instruction Pointer) 레지스터에 저장한다. 
3. 프로세서(CPU)는 IP 레지스터가 가리키는 메모리의 주소에서 (처음으로) 실행할 명령어를 인출(메모리에서 CPU로 가져오는)하여 명령 레지스터(IR : Instruction Register)에 저장한다. 
4. IR에 저장된 명령을 실행하고 IP에 다음번에 실행할 명령어가 있는 주소를 저장한다. 
5. 3~4를 프로그램의 끝까지 반복한다.

출처 : https://blogger.pe.kr/422 

 

퓨리오사 대표의 말처럼 토대와 프로세스에 대한 중요성을 다시금 느끼면서 문득, 일상에서 사람과 사람들의 일 또한 이와 같지 않은 것이 아닌가 하는 생각이 들어 이것저것 찾아본 내용들을 남겨보았다.

요즘들어 지라와 컨플루언스가 유행이다. 에자일을 위한 툴이다. 하지만 지라나 컨플루언스뿐만아니라 업무 방법론인 워터풀과 에자일 방식 또한 결국 하나의 프로그램(프로세스)이다. 프로세서는 사람과 사람들이다. 그리고 그들은 본인들의 의지에 의해서 움직인다. 

워터풀은 책임감과 전문성에 최적화된 프로그램이고 에자일은 자발적 동기부여와 신뢰를 바탕으로한 위임이다. 
워터풀은 숲을 에자일은 나무를, 워터풀은 통찰을 에자일은 피드백을, 워터풀은 일관성을 에자일은 유연함을.. 위한 프로그램이다. 좋고 나쁨의 문제나 택일의 문제가 아니다. 

같은 프로그램도 누가 쓰느냐에 따라 결과가 다르듯, 쓰기 나름이다. 필요하면 둘 다 쓸 수도 있는 것이고 필요없으면 안쓰면 그만인 것이다. 도구는 사람의 편의를 위한 것이다. 프로그램이 그렇다. 프로그램에 메여 창의력이 줄어들거나 사람들간의 신뢰를 져버리거나 의존한다면 이보다 더 아이러니가 있을까- 

에자일이 중요한 것이 아니라 관리자든 전문가든 독단하지 않고  사용자의 의견과 경험을 단위별로 수렴하고 반영하면 될 일이다. 워터풀이 고리타분한 것이 아니라 획일적인 것과 일관된 것을 구분할 수 있으면 될 일이다.

젊다고 무조건 꼰대 항체가 있는 것도 아닌 것처럼 에자일이라고 다 능동적이고 유연한 것은 아닌 사례가 많은 것 같다. 프레임이 편리한 것은 맞지만 프레임에 갖히지는 말았으면 하는 마음에, 이번 기회에 나 스스로에게 이렇게나마 몇자 남겨본다.  

댓글