CS 지식/운영체제5 [운영체제] 캐시 운영체제에서의 캐시성능 향상의 열쇠라고 할 수 있다. 캐시는 현대 운영체제의 성능 최적화에서 중요한 역할을 한다.프로세서와 메모리 간의 성능 차이를 줄이기 위해 캐시는 설계되고 사용된다. 오늘은 운영체제에서의 캐시의 개념과 중요성, 동작 원리, 그리고 그 유형에 대해 알아봤다. 캐시의 개념캐시는 데이터를 임시로 저장하는 고속의 작은 메모리 영역이다. 주로 CPU와 메모리 간의 속도 차이를 보완하기 위해 사용된다. 캐시는 CPU에 가까이 위치하여 필요한 데이터를 더 빠르게 제공함으로써 전체 시스템 성능을 향상시킨다. 캐시의 필요성CPU는 매우 빠른 속도로 작업을 수행하지만, 주기억장치(RAM)는 상대적으로 속도가 느리다. 이 차이로 인해, CPU가 메모리에서 데이터를 불러오는 동안 대기 상태가 될 수 있.. 2024. 11. 10. [운영체제] 운영체제 동기화 방법: 세마포어와 뮤텍스 1. 동기화의 필요성병행 수행 중인 비동기적 프로세스들이 공유자원에 동시에 접근하게 된다면 문제가 발생할 수 있다. 이를 위해 동기화 과정은 꼭 필요하다. 경쟁 상태(Race Condition) 방지: 여러 스레드 또는 프로세스가 같은 자원(예: 메모리, 파일)에 동시에 접근하려고 할 때, 그들이 동시에 자원을 수정할 경우 예기치 않은 결과가 발생할 수 있다. 이를 경쟁 상태라고 하며, 이러한 상황을 방지하기 위해 동기화가 필요하다.교착 상태(Deadlock) 방지: 여러 자원에 대한 동시 접근을 제어하지 않으면, 여러 스레드가 서로의 자원을 기다리는 교착 상태에 빠질 수 있다. 동기화는 이러한 교착 상태가 발생하지 않도록 적절한 자원 접근 순서와 규칙을 정의하는 데 도움을 준다. 운영체제에서 이러한 동.. 2024. 9. 21. [운영체제] 프로세스와 스레드 프로세스란?프로세스는 프로그램(코드 더미)을 실행 시켜 정적인 프로그램이 동적으로 변하여 프로그램이 돌아가고 있는 상태를 말한다. 즉, 컴퓨터에서 실행중인 프로그램을 의미한다. 스레드란?과거에는 프로그램을 실행할 때 프로세스 하나만을 사용해서 이용했다. 하지만 기술이 발전됨에 따라 프로그램이 복잡해지고 다채로워지면서 프로세스 하나만을 사용해서 프로그램을 실행하기에는 한계가 있었다. 그렇다고 동일한 프로그램을 여러 프로세스로 만들게 되면, 그만큼 메모리를 차지하고 CPU에서 할당받는 자원이 중복되게 된다. 스레드는 이러한 프로세스 특성의 한계를 극복하기 위해 탄생했다. 스레드란, 하나의 프로세스 내에서 동시에 진행되는 작업 갈래, 흐름의 단위를 말한다. 예를 들어, 브라우저에서 파일을 다운 받으며, 온.. 2024. 8. 2. [운영체제] 메모리 계층 구조 메모리라는 주제는 너무 광범위했다.. 이번 스터디에서는 메모리란 무엇인지 정의와 개발자로서 알아야 하는 메모리 계층구조와 그 쓰임에 대해 정리해보고자 한다. 메모리란 무엇일까?데이터와 프로그램을 일시적으로 저장하고 관리하는 주기억 장치를 의미한다. 메모리는 컴퓨터 시스템의 핵심 구성 요소 중 하나로, 프로그램이 실행되고 작업을 수행하는 동안 필요한 데이터와 명령어를 저장하고 빠르게 접근할 수 있도록 한다. 처음에는 가상 메모리, 물리 메모리 두 종류로 나뉘는 줄 알았는데 생각보다 광범위한 내용을 포함하고 있었다. 메모리는 다음과 같은 계층 구조를 가지고 있다. 혹자는 도서관에 책을 꽂아두는 것처럼 메모리의 용도를 비유한다. 도서관에는 수십만 종류의 책들이 보관되고 있고 각각의 방식으로(오래된 책, 자.. 2024. 6. 21. [운영체제] PCB(Process Control Block)란? PCB(Process Control Block, 프로세스 제어 블록)는 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳으로, 운영체제 커널의 자료구조이다. 작업 제어 블록(Task Control Block, TCB)또는 작업 구조라고도 한다. - 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거된다. - 운영체제 입장에서 프로세스 상태 관리와 문맥교환(Context Switch)에 필요하며 프로세스 생성시 만들어지고 주기억장치에 유지된다. PCB에 저장되는 내용- 프로세스의 현재 상태- 포인터- 프로세스 고유 식별자- 스케줄링 및 프로세스의 우선순위- CPU 레지스터 정보- 주기억장치 관리 정보- 입출력 상태 정보- 계정 정보프로세스는 실행 중인 프로그램이.. 2024. 5. 17. 이전 1 다음