컴퓨터 과학(CS)/운영체제 4

[운영체제] TLS(Thread Local Storage)

개요CS 테스트에 나왔으나 답을 제대로 작성하지 못해 복기 차원에서 공부를 진행하였다.Thread Pool과 유사한 내용인 줄 알았으나 TLS와 Thread Pool은 완전히 다른 개념이었다. TLS는 각 스레드가 독립적으로 접근할 수 있는 저장소로, 전역 변수처럼 사용되지만 각 스레드마다 별도의 인스턴스를 가지는 메모리 영역을 의미한다. 전역 변수처럼 어디서든 접근할 수 있지만, 실제로는 각 스레드마다 별도의 인스턴스를 가진다. TLS는 멀티스레드 환경에서 동기화 없이도 안전한 데이터 관리를 가능하게 하는 강력한 도구지만, 메모리 사용량과 초기화 비용을 고려해서 적절히 사용해야한다. // 전역 변수 (모든 스레드가 공유)int global_var = 0;// TLS 변수 (각 스레드마다 독립적)thre..

프로세스 (process)

개요컴퓨터가 실행할 수 있는 프로그램의 인스턴스를 말하며, 이는 운영체제의 핵심 개념 중 하나이다.운영체제는 여러 가지 프로세스를 관리하고, 그들 간의 자원 경쟁을 조정하며, 시스템 자원을 효율적으로 사용하도록 한다. 1. 프로세스의 구조프로세스는 프로그램의 인스턴스로, 실행 중에 여러 구성 요소로 나눌 수 있다.코드 섹션: 실행할 프로그램 코드가 저장된 메모리 공간데이터 섹션: 전역 변수 및 정적 변수가 저장되는 영역힙: 프로그램 실행 중 동적으로 할당되는 메모리 공간 예를 들어, malloc이나 new와 같은 메모리 할당 함수를 통해 할당된 메모리가 여기에 포함된다.스택: 함수 호출과 관련된 정보(지역 변수, 매개 변수, 리턴 주소 등)가 저장되는 메모리 영역, 스택은 함수 호출 시마다 증가하고, 함..

멀티 쓰레딩 (Multi-threading)

개요하나의 프로세스 안에서 여러 개의 쓰레드를 동시에 실행시키는 기법이를 통해 CPU의 자원을 보다 효율적으로 사용할 수 있으며, 특히 여러 작업을 병렬로 처리해야 하는 경우에 성능 향상을 기대할 수 있다.멀티 쓰레딩은 주로 응용 프로그램에서 응답성을 높이거나 동시에 여러 작업을 수행해야 할 때 사용한다. 1. 쓰레드(Thread)란?쓰레드는 프로세스 내에서 실행되는 가장 작은 단위이다.하나의 프로세스는 여러 개의 쓰레드를 가질 수 있으며, 각 쓰레드는 독립적으로 실행될 수 있다.동일한 프로세스 내의 쓰레드들은 메모리 공간을 공유하며, 이 공유된 메모리에는 힙 영역과 전역 변수 등이 포함된다. 2. 멀티 쓰레딩의 장점 병렬 처리: 여러 작업을 동시에 실행할 수 있어 CPU 자원을 더 효율적으로 사용할 수..

운영체제(OS)

개요운영체제(Operating System, OS)운영체제는 우리가 컴퓨터를 사용할 때 눈에 보이지는 않지만, 모든 프로그램이 제대로 작동할 수 있도록 뒷받침 하는 소프트웨어 이다. 마치 컴퓨터의 뇌와 같은 역할을 하며, 컴퓨터의 하드웨어와 사용자 사이에서 중개자 역할을 한다. 운영체제의 주요 역할자원 관리CPU : 여러 프로그램이 동시에 실행될 때 CPU 시간을 효율적으로 분배한다.메모리 : 프로그램이 실행될 공간을 할당하고 관리하며, 메모리 부족 시 스왑 파일을 이용하여 가상 메모리를 확보한다.입출력 장치 : 키보드, 마우스, 모니터 등 다양한 입출력 장치를 관리하고, 데이터를 주고 받을 수 있도록 한다.파일 시스템 : 하드 디스크에 데이터를 저장하고 관리하는 파일 시스템을 제공한다. 프로그램 실행..

728x90