728x90
반응형

CS 21

인터럽트(Interrupt)

인터럽트(Interrupt)란? CPU가 프로그램을 실행하는 도중에 입출력(I/O) 요청, 예외상황, 하드웨어 인터럽트 등의 이벤트가 발생하면 해당 이벤트에 대한 처리를 위해 CPU의 실행 흐름을 중단하고, 우선순위가 높은 이벤트에 대한 처리를 수행하는 메커니즘입니다. 인터럽트의 구분 하드웨어 인터럽트 : 하드웨어 디바이스가 CPU에게 신호를 보내는 것 소프트웨어 인터럽트 : 프로그램에서 명령어를 실행하는 도중에 소프트웨어적으로 인터럽트를 발생시키는 것 인터럽트 동작 순서 1. 인터럽트 요청 2. 프로그램 실행 중단: 현재 실행중이던 Micro operation 까지 수행한다. 3. 현재의 프로그램 상태 보존: PCB(Process Control Block), PC(Program Counter) 등 4...

CS 2023.04.06

프로세스 주소 공간

1️⃣ Code Segment 프로그램의 코드가 저장되어있다. 2️⃣ Data Segment 전역 변수(global variables)같은 데이터가 저장되어 있다. 3️⃣ Stack Segment 함수(function)나 지역 변수(local variables)가 저장되어 있다. 여기서 질문 📌 Q. 왜 Code 부분을 따로 두었나? A. Program의 Code는 Program이 만들어지고(컴파일되고) 나서는 바뀔 일이 전혀 없습니다. 따라서 읽기만 가능한 Read Only 부분입니다. 그렇기 때문에 같은 프로그램을 실행시켜 몇 개의 Prcess가 실행되더라도 같은 프로그램이라면 Code 부분은 다 똑같은 내용을 가지고 있습니다. Q. 왜 Stack 부분과 Data 부분을 나누었나? A. 전역 변수(g..

CS 2023.04.06

프로세스(process)와 스레드(thread)

프로세스(process)란? "운영체제로부터 시스템 자원을 할당받는 작업의 단위" 프로세스 간 통신(IPC, Inter-Process Communication)이 필요한 경우 운영체제가 제공하는 메커니즘을 사용하여 통신합니다. 각 프로세스는 다른 프로세스의 데이터나 상태에 직접적으로 접근할 수 없으며, 운영체제를 통해서만 접근할 수 있습니다. 스레드(thread)란? "프로세스 안에서 실행되는 여러 흐름 단위" 프로세스의 자원을 공유하면서 실행되므로, 각 스레드는 독립적인 실행 흐름을 가지지만, 해당 프로세스 내에서는 공유되는 메모리 영역을 통해 서로 통신할 수 있습니다. 이러한 특징 때문에, 스레드는 프로세스보다 가볍고 빠르게 생성되며, 자원의 효율적인 사용이 가능합니다. 그러나, 각 스레드는 서로의 ..

CS 2023.04.06

마이크로서비스 아키텍처(MSA)

MSA란 무엇인가? "하나의 큰 어플리케이션을 여러개의 작은 어플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍쳐" MSA (Microservices Architecture)는 분산 컴퓨팅 아키텍처 패턴 중 하나로, 서비스 기반의 아키텍처 패턴입니다.이를 통해 모놀리틱 아키텍처의 문제점을 해결하고, 애플리케이션의 확장성과 유연성을 개선하며, 서비스 장애가 전체 시스템에 영향을 미치지 않도록 하는 등의 이점을 제공합니다. MSA의 탄생 배경 MSA(Microservices Architecture)의 탄생 배경은 기존의 모놀리식(monolithic) 아키텍처에서의 한계점을 극복하기 위한 것입니다. 모놀리식 아키텍처는 모든 서비스를 하나의 대규모 응용 프로그램으로 구현하므로, 시스템의 규모가 커질수록..

CS 2023.04.05

[CS] 패리티 비트 & 해밍 코드

🎯 패리티 비트 & 해밍 코드 프로그램을 작성할 때는 반드시 오류 검출 과정을 거치게 된다. 즉, 컴퓨터가 처리한 데이터가 올바른지 검사를 하거나 하드웨어나 소프트웨어 상의 틀린 곳을 검출하는 것이다. 이 과정을 오류 검출이라고 한다. 컴퓨터의 오류는 프로그램을 작성할 때 이외에도 바이러스의 침투나 해킹으로 인한 데이터 변화 등에 의해서도 데이터에 오류가 나타나기도 한다. 패리티 비트(Parity bit) 패리티 비트(Parity bit)는 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 추가된 비트이다. 문자열 내 1비트의 모든 숫자가 짝수 또는 홀수인지를 보증하기 위해 전송하고자 하는 데이터의 각 문자에 1 비트를 더하여 전송하는 방법으로 2가지 종류의 패리티 비트(홀수, 짝수)가 있다. 패리티..

CS 2023.03.25

[CS] 고정 소수점 & 부동 소수점

🎯 고정 소수점 & 부동 소수점 컴퓨터에서 실수를 표현하는 방식으로 '고정 소수점 방식(Fixed Point System)'과 '부동 소수점 방식(Floating Point System)' 두 가지를 생각해볼 수 있다. 고정 소수점(fixed point) 실수를 표현하는 가장 간단한 방식은 소수부의 자릿수를 미리 정하여, 고정된 자릿수의 소수를 표현하는 것 부동 소수점(floating point) 앞서 살펴본 고정 소수점 방식은 제한된 자릿수로 인해 표현할 수 있는 범위가 매우 작습니다. 하지만 부동 소수점 방식은 매우 큰 실수까지도 표현할 수 있습니다. 부동 소수점 방식을 사용하면 고정 소수점 방식보다 훨씬 더 많은 범위까지 표현할 수 있습니다. 하지만 부동 소수점 방식에 ..

CS 2023.03.25
728x90
반응형