프로그램 : window로 치면 바탕화면에 .exe 확장자를 가진 응용 소프트웨어들을 프로그램이라고 부른다.프로세스 : 그리고 이러한 프로그램 중에 현재 실행중인 프로그램 혹은 운영체제의 자원을 받아서(메모리 영역, CPU) 사용중인 프로그램을 프로세스라고 한다(운영체
: 사실 개발일을 할 때 동기와 비동기적 개념을 이용한 구현을 할 때 애를 먹었던 기억이 있는데, 예를 들어, 싱글 쓰레드 언어인 자바스크립트로 멀티 쓰레드 구현을 해야할 때가 생각이 난다. async, await를 이용해서 비동기적 프로그래밍을 했던 기억도 있고, 어
프로세스의 메모리 구조: 프로세스는 크게 stack, heap, data, text로 되어있다.1) 먼저, Stack은 함수가 호출됨과 동시에 생성되며, 함수를 실행하는 동안 쓰이는 지역변수, 매개변수가 저장되는 곳이다. 또한, 함수가 끝남에 따라 반환된다. 이러한 s
job queue : 상태에 상관없이 모든 프로세스를 저장하고, 관리하기 위한 자료구조이며, 따라서, 반드시 메모리가 할당되어 있는 프로세스만 있지 않고, 말그대로 모든 프로세스가 담겨있다. ready queue : 프로세스 상태에서 배웠던 ready 상태(CPU의 할
: 멀티 쓰레딩에서 나온 것과 유사하게 동일한 자원에 동시에 접근을 해서 수정을 가하는 등의 작업을 하면 충돌이 일어날 수 있는데, 이러한 충돌의 위험이 있는 곳 혹은 동일한 자원에 동시에 접근하는 작업을 실행하는 코드 영역을 임계영역이라고 한다. : 이러한 임계영역에