본문 바로가기

📘 Computer Science/운영체제

(3)
[운영체제] 프로세스와 스레드 1. 프로세스 (Process) 운영체제로 부터 자원을 할당받은 작업의 단위를 말합니다. (1) 프로그램과 프로세스 프로그램은 윈도우에서는 exe파일, 맥북에서는 dmg 파일을 의미합니다. 프로그램은 프로그래밍 언어(C, Java 등)로 코드를 작성하면 개발할 수 있습니다. 즉, 프로그램은 말그래도 코드 덩어리를 말합니다. 이런 코드 덩어리(프로그램)를 실행시키면 프로세스가 된다. 정리해 보면 프로세스는 프로그램이 작동되고 있는 상태를 말합니다. 프로그램이 실행되기 위해서는 운영체제(OS)가 메모리를 할당해줘야 합니다. 이렇게 운영체제에게 메모리 공간을 할당받고, CPU도 할당받아서 프로그램의 코드가 실행되면 프로세스가 됩니다. (2) 프로세스의 상태 상태 설명 생성 (new) 프로세스가 생성되고 아직 ..
[운영체제] 프로세스의 메모리 구조 (JVM 메모리 구조) 운영체제는 프로세스가 실행될 때 해당 프로세스가 필요로 하는 적절한 메모리를 할당하게 됩니다. 프로세스에게 할당되는 메모리 구조에 대해서 알아보고자 합니다. 1. 프로세스의 메모리 구조 그림에서 보면 바로 알 수 있듯이 스택 영역과 힙 영역은 크기가 동적으로 변하는(화살표가 존재) 구조를 가지고 있고, 데이터 영역과 코드 영역은 정적인 구조라고 볼 수 있습니다. 하나씩 어떤 역할을 하는지 알아봅시다. (1) 스택 영역 (Stack Area) 스택 영역은 함수(메서드), 함수에 인자로 들어가는 매개변수(Parameter), 함수 안에 있는 지역변수(Local Variable)가 저장되는 영역입니다. 컴파일 시에 크기가 결정되고, 동적인 구조를 가지고 있습니다. 위 그림에서 볼 수 있듯이 위쪽에 있는 주소부..
[운영체제] 운영체제란? 스스로 공부하고 개인적으로 기록해보는 공간입니다. 틀린 부분이 있다면 알려주시면 바로 수정하겠습니다. 감사합니다. 😄 📘 운영체제란 무엇인가? 📖 운영체제(Operating System)가 무엇인가? 컴퓨터를 이용하는 사용자가 컴퓨터 하드웨어와 상호작용할 수 있도록 도와주는 소프트웨어를 말한다. 사용자가 직접 하드웨어에 접근하여 정보를 처리하는 것은 어렵기 때문에 그 역할을 운영체제가 도와준다. 하나의 예시를 들어보면 컴퓨터는 0과 1로 데이터를 표현하는데, 만약 운영체제가 없다면 사용자는 직접 0과 1로 구성된 데이터를 이용하여 직접 컴퓨터와 상호작용해야하는 어려움이 있다. 대표적인 운영체제로는 Windows, MacOS, Linux, IOS 등이 있다. 📖 Bootstrap Program이 무엇인가?..