본문 바로가기

전체 글17

스레드 프로세스보다 더 작은 단위를 스레드라고 합니다. 스레드 과거에는 프로그램을 실행하는 주체가 프로세스 하나였습니다. 하지만 프로그램이 점점 복잡해져, 하나의 프로세스 에서도 여러 실행 흐름이 요구되었습니다. 그래서 프로세스보다 더 작은 실행 단위가 필요해서 스레드가 나오게 되었습니다. 하나의 프로세스의 내의 작은 단위이기 때문에 여러 개의 스레드는 프로세스의 메모리를 공유할 수 있습니다. 스레드를 예를 들어 설명해보겠습니다. 스레드는 하나의 프로젝트 팀 중 한 개발자가 하나의 작업을 수행하는 것으로 생각할 수 있습니다. 프로젝트에서 서로 다른 기술을 가진 여러 개발자가 팀 목표를 달성하기 위해 협력해야 하는 것처럼, 컴퓨터 프로그램에서도 여러 스레드가 협력하여 작업을 효율적으로 완료해야 할 수 있습니다. .. 2023. 2. 26.
프로세스 컴퓨터에서 실행중인 프로그램을 프로세스라고 합니다. 프로세스 보조기억장치(하드디스크)에 저장된 코드의 집합을 프로그램이라고 합니다. 프로그램을 실행하면 메모리에 프로그램이 올라가게 됩니다. 이것을 프로세스라고 합니다. 다른 말로 표현하면 프로세스로 인스턴스화되었다고 합니다. 이후에는 CPU의 스케줄에 따라서 프로세스가 실행되게 됩니다. 프로세스는 하나의 실행 단위라고 볼 수 있습니다. 프로세스보다 더 작은 실행 단위를 스레드라고 하고, 프로세스는 최소 1개의 스레드를 가지고 있습니다. 프로세스 상태 생성상태: 프로세스가 생성된 상태 대기상태: 메모리 공간에 따라서 다른데, 공간이 충분하면 메모리를 할당 받고, 부족하면 기다리는 상태 대기중단상태: 메모리 부족으로 일시 중단된 상태 실행상태: 메모리를 할당.. 2023. 2. 26.
메모리 기억을 위한 장치 메모리 메모리는 데이터, 상태 등을 기록하는 저장 장치를 말합니다. 일반적으로 공장에 비유해서 설명을 많이 하는데, CPU는 공장에서 일하는 작업자, 메모리는 작업 현장, 보조저장장치(HDD, SDD)는 자재 창고로 생각해볼 수 있습니다. 자재 창고(보조기억장치)에서 원자재를 가져다가 작업현장(메모리, 주기억장치)에 놓으면 작업자(CPU)가 실제로 작업을 진행하는 것입니다. 메모리 계층 레지스터 캐시 메모리 저장장치 메모리도 여러 계층이 있습니다. 먼저 레지스터, 캐시, 메모리를 주 기억장치, 저장 장치(SDD, HD)를 보조기억장치라고 합니다. 상위 계층일수록 속도가 빠르지만, 용량이 작아지고 가격이 비쌉니다. CPU와 메모리의 속도 차이가 커서 병목현상이 발생하기 때문에 이런 속도 .. 2023. 2. 26.
운영체제와 컴퓨터(하드웨어와 소프트웨어) 컴퓨터는 하드웨어와 소프트웨어로 구성됩니다. 운영체제(소프트웨어) 컴퓨터를 쉽게 다루도록 도와주는 인터페이스. 프로세스를 만들고 지우며, CPU에게 일(프로세스)를 할당합니다. 즉, 프로세스와 CPU 스케줄을 관리합니다. 또한 한정적인 메모리를 효율적으로 관리하며, 디스크에 데이터를 관리하고 키보드, 마우스와 같은 디바이스와 컴퓨터가 데이터를 주고받을 수 있도록 관리합니다. 종합적으로 컴퓨터 자원을 효율적으로 관리하는 역할을 합니다. 운영체제의 구조 유저 프로그램 GUI, CUI(쉘) 시스템콜 커널 드라이브 하드웨어 위의 표는 운영체제의 구조를 계층별로 나타내고 있습니다. 크게 보면 맨 밑의 하드웨어 위에 커널이 있고, 그 위에 시스템콜이 있고, 유저 프로그램(사용자)이 있습니다. 위에서 GUI, CUI.. 2023. 2. 25.