Programming/Etc.3 [Thread] 스레드란 무엇인가 (vs 프로세스) 스레드의 정의 스레드의 정의는 "프로세스 내에서 실행되는 여러 흐름의 단위"이다. *프로세스에 대해 잘 모른다면 여기를 참고 스레드의 특징 스레드는 프로세스 내에서 각각 Stack만 따로 할당받고 Code, Data, Heap 영역은 공유한다. 스레드는 한 프로세스 내에서 동작되는 여러 실행의 흐름으로, 프로세스 내의 주소 공간이나 자원들을 같은 프로세스 내에 스레드끼리 공유하면서 실행된다. 한 스레드가 프로세스 자원을 변경하면, 다른 이웃 스레드도 그 변경 결과를 즉시 볼 수 있다. 각각의 스레드는 별도의 레지스터와 스택을 가지고 있다. 스레드의 종류 스레드를 지원하는 주체에 따라 2가지로 나눌 수 있다. 사용자 레벨 스레드 (User-Level Thread) 사용자 스레드는 커널 영역의 상위에서 지원.. Programming/Etc. 2019. 11. 2. [Process] 프로세스란 무엇인가 프로세스(Process)란 컴퓨터에서 프로그램은 "특정 작업을 수행하는 일련의 명령어들의 모음"이다. 그렇다면 프로세스는 무엇인가? 프로세스는 다양한 종류의 프로그램 중 "실행 중인컴퓨터 프로그램"이다. 조금 더 자세하게 "운영체제로부터 시스템 자원을 할당받는 작업의 단위"라고 정의하기도 한다. *시스템 자원이란? - CPU 점유 시간 - Code, Data, Stack, Heap의 구조로 되어 잇는 독립된 메모리 영역 프로세스끼리는 서로 독립되어있기 때문에 서로 다른 프로세스의 메모리에 접근할 수 없다. 만약 다른 프로세스의 자원에 접근해야 한다면, IPC(Inter-Process-Communication)를 통해 접근할 수 있다. *대표적인 IPC의 종류 1. Signal 2. Pipe 3. Mess.. Programming/Etc. 2019. 11. 2. [DevOps] DevOps란 무엇인가 이미지 출처 : https://medium.com/@neonrocket/devops-is-a-culture-not-a-role-be1bed149b0 DevOps를 공부하기 위해 구글에 검색해보고 위키백과도 한번쯤은 읽어봤을 것이다. "Developement(개발)와 Operations(운영)의 합성어", "개발자와 운영자의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화"라고 정의한다. 하지만 이 한 줄 정의만으론 DevOps에 대한 이미지가 그려지지 않았기에 내 방식대로 정리를 시작하게 됐다. DevOps의 배경 하나의 소프트웨어를 개발하면서 개발자와 운영자 사이에 갈등이 생긴다. 개발자는 고객의 요구에 따른 변경을 빠르게 보기를 원하고, 운영자는 속도 보단 안정성을 중요시하기 때문이다. 새로운 프.. Programming/Etc. 2019. 11. 2. 이전 1 다음