본문 바로가기

분류 전체보기254

[운영체제] IPC (Inter Process Communication) 프로세스는 독립적으로 실행된다. 즉, 독립 되어있다는 것은 다른 프로세스에게 영향을 받지 않는다고 말할 수 있다. (스레드는 프로세스 안에서 자원을 공유하므로 영향을 받는다)이런 독립적 구조를 가진 프로세스 간의 통신을 해야 하는 상황이 있을 것이다. 이를 가능하도록 해주는 것이 바로 IPC 통신이다. 프로세스는 커널이 제공하는 IPC 설비를 이용해 프로세스간 통신을 할 수 있게 된다.커널이란?운영체제의 핵심적인 부분으로, 다른 모든 부분에 여러 기본적인 서비스를 제공해줌  IPC 설비 종류도 여러가지가 있다. 필요에 따라 IPC 설비를 선택해서 사용해야 한다. IPC 종류1. 익명 PIPE파이프는 두 개의 프로세스를 연결하는데 하나의 프로세스는 데이터를 쓰기만 하고, 다른 하나는 데이터를 읽기만 할 수.. 2024. 5. 3.
[컴퓨터 구조] 캐시 메모리 (Cache Memory) 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리를 말한다.ex1) CPU 코어와 메모리 사이의 병목 현상 완화ex2) 웹 브라우저 캐시 파일은, 하드디스크와 웹페이지 사이의 병목 현상을 완화 CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도를 향상시킨다.속도라는 장점을 얻지만, 용량이 적기도 하고 비용이 비싼 점이 있다. CPU에는 이러한 캐시 메모리가 2~3개 정도 사용된다. (L1, L2, L3 캐시 메모리라고 부른다)속도와 크기에 따라 분류한 것으로, 일반적으로 L1 캐시부터 먼저 사용된다. (CPU에서 가장 빠르게 접근하고, 여기서 데이터.. 2024. 5. 1.
[컴퓨터 구조] 중앙처리장치(CPU) 작동 원리 CPU는 컴퓨터에서 가장 핵심적인 역할을 수행하는 부분. '인간의 두뇌'에 해당크게 연산장치, 제어장치, 레지스터 3가지로 구성됨연산 장치산술연산과 논리연산 수행 (따라서 산술논리연산장치라고도 불림) 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보냄제어 장치명령어를 순서대로 실행할 수 있도록 제어하는 장치 주기억장치에서 프로그램 명령어를 꺼내 해독하고, 그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보냄또한 이들 장치가 보낸 신호를 받아, 다음에 수행할 동작을 결정함레지스터고속 기억장치임 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장용도에 따라 범용 레지스터와 특수목적 레지스터로 구분됨중앙처리장치 종류에 따라 .. 2024. 5. 1.
[컴퓨터 구조] 컴퓨터의 구성 컴퓨터가 가지는 구성에 대해 알아보자컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나누어진다.하드웨어 : 컴퓨터를 구성하는 기계적 장치소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어 집합 하드웨어중앙처리장치(CPU)기억장치 : RAM, HDD입출력 장치 : 마우스, 프린터소프트웨어시스템 소프트웨어 : 운영체제, 컴파일러응용 소프트웨어 : 워드프로세서, 스프레드시트 먼저 하드웨어부터 살펴보자하드웨어는 중앙처리장치(CPU), 기억장치, 입출력장치로 구성되어 있다.이들은 시스템 버스로 연결되어 있으며, 시스템 버스는 데이터와 명령 제어 신호를 각 장치로 실어나르는 역할을 한다. 중앙처리장치(CPU)인간으로 따지면 두뇌에 해당하는 부분주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행.. 2024. 5. 1.
[OS] PCB와 ContextSwitching Process ManagementCPU가 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것을 말함이때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능함프로세스들의 특징을 갖고있는 것이 바로 Process MetadataProcess MetadataProcess IDProcess StateProcess PriorityCPU RegistersOwnerCPU UsageMemeory Usage이 메타데이터는 프로세스가 생성되면 PCB(Process Control Block)이라는 곳에 저장됨 PCB(Process Control Block)프로세스 메타데이터들을 저장해 놓는 곳, 한 PCB 안에는 한 프로세스의 정보가 담김다시 정리해보면?프로그램 실행 → 프로세스 생성 → 프로세스 주소 공간에 (.. 2024. 5. 1.
[OS] 프로세스와 스레드 프로세스와 스레드의 차이(Process vs Thread)프로그램(Program) 이란사전적 의미“어떤 작업을 위해 실행할 수 있는 파일”프로세스(Process) 란사전적 의미“컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램”메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체)운영체제로부터 시스템 자원을 할당받는 작업의 단위즉, 동적인 개념으로는 실행된 프로그램을 의미한다.참고 할당받는 시스템 자원의 예CPU 시간운영되기 위해 필요한 주소 공간Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역특징프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다.기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 .. 2024. 5. 1.