스레드

    프로세스와 스레드에 대하여

    1. 프로세스(Process) 1) 프로세스란? 프로세스는 운영체제로부터 자원을 할당받아 실행중인 프로그램을 의미한다. 디스크에 저장된 프로그램을 실행하면 메모리가 할당되고 바이너리 코드가 메모리에 올라가게 된다. 이때, 메모리에 올라간(로드된) 프로그램의 인스턴스를 프로세스라고 부른다. 프로세스는 운영체제의 스케줄러가 관리하는 작업(task)의 단위로 사용되기도 한다. 스케줄러(Scheduler) 스케줄링 알고리즘에 따라 자원을 사용할 프로세스를 결정하는 운영체제의 모듈 2) 메모리 구조 프로세스가 할당받은 메모리는 4가지 영역으로 구성된다. Code 프로그램의 코드와 명령어가 기계어 형태로 저장되는 영역이다. CPU는 이 영역에 저장된 명령어를 순차적으로 가져와서 처리한다. 컴파일 시점에 메모리 크기..

    [Sesac IOS] 25일차 TIL

    25일차 수업에서 배운 내용을 정리한 글입니다. Learned 프로세스(Process) 1) 프로그램 특정 작업을 수행할 수 있고 컴퓨터가 실행시킬 수 있는 코드 프로그래밍 언어로 짜여진 코드는 컴파일러에 의해 컴퓨터가 이해할 수 있는 언어로 번역된다. 2) 프로세스 컴퓨터에 의해 실행되어 메모리에 올라간 프로그램 프로세스는 최소 한 개의 스레드(메인 스레드)를 갖는다. 프로세스마다 독립적인 메모리 공간을 가지기 때문에 다른 프로세스의 메모리에 접근할 수 없다. 멀티 스레드 1) 개념 스레드란 프로세스에서 수행되는 작업의 단위 멀티 스레드란 하나의 프로세스에 여러 스레드가 존재해서 각 스레드마다 여러 작업들이 동시에 수행되는 것을 의미함. 동시에 여러 작업을 수행하기 때문에 빠르게 처리할 수 있다는 장점..