1. 스레드란 하나의 프로세스 안에 여러개의 스레드가 존재함 프로세스는 자원이 할당되는 단위 / 스레드는 CPU가 할당되는 단위 -> 할당받은 자원을 공유하며 각자 실행환경 데이터를 가짐 프로세스가 있고 스레드가 있는 것 멀티 스레딩 : 하나의 프로세스를 다수의 스레드로 만들어 실행하는 것. 작업의 수행에 필요한 자원들을 공유하기 때문에 자원의 생성과 관리가 중복되는 것을 줄일 수 있음 스레드는 프로세스 내에서 각각 스택만 따로 할당 받고, code, data, heap의 영역은 공유한다. 2. 멀티 프로세스과 멀티 스레드 멀티 프로세스 하나의 응용 프로그램을 여러개의 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하도록 하는 것 장점 여러개의 자식 프로세스 중 하나에 문제가 발생하면 하나만 죽음으..
프로세스를 이해할려면 프로그램을 먼저 알아야되는데 프로그램이란 뜻의 정의는 무엇일까? 프로그램이란, 파일이 저장장치에는 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 단순히 말하지면 아직 실행되지 않은 파일 그자체를 가리키는 말이다. 프로그램을 실행하면 그때 그 파일이 컴퓨터 메모리에 올라가게 되고, 이제야 동적인 상태가 된다. 이 상태의 프로그램을 프로세스 라고 한다. 과거에는 프로그램을 실행할때 프로세스 하나만을 사용했지만, 기술이 발전함에 따라 프로그램이 복잡해지면서 한계가 있었다. 그 한계를 극복하기 위해서 여러개의 프로세스를 사용하려면 그만큼의 메모리를 차지하고 CPU에서 할당받는 자원이 중복되기에 스레드가 탄생했다. 프로세스와 스레드의 정의 프로세스 : 운영체제로부터 자원을 할당받은..
운영체제란 - HW와 SW의 사이에 위치해 시스템의 자원과 동작을 관리하는 소프트웨어 운영체제의 목적 - 사용자에게 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 (사용자 관점) - 하드웨어의 자원들을 공정하게 할당함 (시스템 관점) - HW에서 복잡하게 돌아가는 동작을 사용자(프로그래머)가 모르게 운영체제에서 알아서 관리함 운영체제의 종류 - MSDos, Mac, Windows, IOS, Andriod - MSDos에서는 한번에 하나의 작업만을 수행 가능 - 사용자 프로그램들은 특정 운영체제에 맞춰서 만들기 때문에 ios에서 만든앱을 window에서 동작 시킬수는 없다. 부팅과정 1. 컴퓨터의 전원이 켜지면, CPU는 메모리 0번지 (ROM)에 있는 BIOS 데이터를 읽어옴 2. BIOS는 PO..