스레드(Thread) 운영체제에서 스레드는 프로세스 내부에서 실행되는 작은 작업 단위이다. 스레드는 프로세스의 실행 흐름을 구성하는 단위로, 하나의 프로세스는 내부에 여러개의 스레드가 포함될 수 있다. 스레드를 설명하기 전에 프로세스와의 차이점을 알기위해, 프로세스에 대해서 간략하게 설명한다. 프로세스는 독립된 객체로서 생성되면 각각의 메모리 자원을 할당 받고, 서로에게 접근이 불가능하다. 프로세스 특성상 서로에게 접근이 불가능하기에, 여러개의 프로세스를 처리하기 위해서 서로의 상태 자원을 공유하려면 IPC라는 커뮤니케이션 기법이 필요하다. IPC는 커널의 공유 메모리를 활용하여 프로세스들간의 데이터 상태 정보를 주고 받는다. 스레드의 특징 특징 ① 프로세스들이 서로의 데이터에 접근하는것이 직접적으로 불..
프로세스간 커뮤니케이션을 해야하는 이유 프로세스들은 각각 개별적으로 분리되어 생성되며 프로세스들끼리는 서로에게 접근할 수 없다. 즉, 프로세스는 완전히 독립된 객체이며, 서로에게 접근하지 못하니 영향도 끼치지 않는다. 하지만 여러개의 프로세스를 실행하기 위해선 각 프로세스들이 서로 상태값이나 데이터를 주고받을 일이 생긴다. 예를 들어보자. 프로세스1과 프로세스2가 실행 중이다. 프로세스1과 프로세스2는 덧셈 작업을 수행하며, 프로세스1과 프로세스2의 목표는 하나의 파일에 덧셈 작업을 번갈아 수행해야 한다. 이때, 프로세스1은 1부터 1000까지 덧셈한 다음에 파일에 기록하고, 프로세스2는 1000부터 2000까지 덧셈한 다음에 파일에 기록해야 한다. 두 프로세스들은 모두 파일에 접근할 수 있지만, 서로 ..
CPU(Central Processing Unit)는 컴퓨터의 핵심적인 처리 장치로, 명령어를 실행하고 데이터를 처리하는 역할을 담당한다. CPU는 프로세서 내부에 다양한 하드웨어 구성 요소와 기능을 포함하고 있다. 그리고 운영체제는 CPU와 하드웨어들의 자원을 효율적으로 관리해서 응용 프로그램이 원활하게 동작되도록 한다. 운영체제는 프로세스들을 처리하기 위해 CPU의 기능과 시스템 자원에 접근할 수 있어야 한다. 하지만 컴퓨터의 주요한 자원에 무분별하게 접근할 수 있는 것은 아니다. 운영체제는 접근할 수 있는 권한이 부여된 요청만 CPU에 접근을 허락한다. 이 권한은 4가지로 분류되며, 접근 권한들을 분류하여 나눈 것을 CPU Protection Ring이라고 한다. CPU Protection Ring..
운영체제(Operating System)는 컴퓨터 시스템에서 핵심적인 역할을 수행하는 소프트웨어이다. 운영체제의 구조는 크게 커널(Kernel)과 셸(shell)로 나눌 수 있다. 운영체제는 커널과 셸 및 여러가지 기능(라이브러리, 시스템 프로그램 등등)이 추가된 상태를 통칭해서 운영체제(OS)라고 부른다. 커널(Kernel) 커널은 운영체제의 핵심 부분으로, 하드웨어와 응용 프로그램 간의 상호 작용을 관리한다. 주요 기능으로는 프로세스 관리, 메모리 관리, 입출력 관리, 파일 시스템 관리 등이 있다. 커널은 시스템의 최상위 권한을 가지고 있어 하드웨어 자원에 직접 접근하고, 응용 프로그램이 원활하게 실행될 수 있도록 관리한다. 만약 응용 프로그램이 파일 생성 및 파일 삭제 등의 기능을 실행하기 위해 직..
운영체제(OS) 운영체제(OS, Operating System)는 컴퓨터 시스템의 핵심 소프트웨어로, 컴퓨터 하드웨어와 응용 프로그램 간의 상호작용을 관리하고 제어하는 역할을 한다. 운영체제의 목적은 사용자와 하드웨어 사이의 인터페이스를 제공해 효율적으로 응용 프로그램이 동작하도록 지원하고, 시스템 자원을 효율적으로 관리하여 응용 프로그램이 원활하게 동작할 수 있도록 한다. 운영체제의 코어(핵심) 부분을 커널(Kernel)이라고 하는데, 일반적으로는 커널에 여러가지 기능(라이브러리, 시스템 프로그램 등등)이 추가된 상태를 통칭해서 운영체제(OS)라고 한다. 운영체제의 역할 ① 자원 관리 운영체제는 컴퓨터 시스템의 하드웨어 자원을 효율적으로 관리하는 역할을 한다. CPU(중앙처리장치), 메모리(Memory..