CS/운영체제

프로세스 동기화 도구에는 크게 뮤텍스 락과 세마포어가 있다.  둘 차이를 간단하게만 말해보면, 뮤텍스 락은 공유 자원에 하나의 스레드가 접근가능하고 세마포어는 공유자원에 여러 스레드가 접근 가능하다는 것이다.    지금까지 너무 얕게만 이해하고 있었다는 생각을 했다. 세마포어는 여러 스레드도 접근 가능하고, 뮤텍스 락을 대체할 수도 있기 때문에, 세마포어가 좋은 거 아닌가 라는 생각을 막연하게 해왔었다.  하지만 내부 동작 방식을 살펴보면 이야기는 달라진다. 문맥 교환이라는 오버헤드를 배제한 설명이기 때문이다. 이게 무슨 말인지 한번 살펴보자.   1. 뮤텍스락 뮤텍스락은 공유 자원에 접근하기 위해 뮤텍스를 획득해야하고, 자원 사용이 끝나면 뮤텍스를 해제하는 방식이다. 그리고 하나의 스레드만 뮤텍스를 획..
프로세스 메모리 구조 프로세스의 메모리 영역은 여러 부분으로 나뉜다. 우선 간단하게 Stack, Heap, TEXT 영역의 개념을 살펴보자!  Stack 스택은 함수 호출과 관련된 정보를 저장하는 메모리 공간이다. 함수를 호출할 때마다 함수의 매개변수, 반환 주소, 지역 변수가 스택에 저장된다.  stack은 LIFO의 특징을 가진다. 함수 호출시 새로운 stack 프레임이 생성되어 스택에 쌓이고, 함수 종료시 해당 스택 프레임이 제거 된다. 스택 프레임이란?스택 프레임은 쉽게 말해 함수의 호출 정보 모음이다. 함수 호출시 스택 영역에 차례대로 저장되는 것들을 말한다. 스택 프레임이라는 개념 덕분에 함수가 종료되면 이전 상태로 되돌아갈 수 있다.  HEAP 힙은 동적 메모리 할당이 수행되는 공간이다. 이..
강의를 들으면서 정리한 강의 노트입니다. 강의 내용 외에도 이해가 잘 안가는 부분들을 쉽게 정리하려 노력했습니다. 반효경 교수님 운영체제 강의를 들으시는 분들이 이 글을 통해 도움이 되었으면 좋겠습니다!   (혹시 포스팅 중에 잘못된 내용이 있으면 댓글로 지적 부탁드립니다..!)강의 노트 목록1. 운영체제 서론 (Introduction to Operating Systems) 2. 운영체제 구조 : 컴퓨터 시스템의 구성(System Structure & Program Execution 1) 3. 운영체제 구조 : 동기식 입출력과 비동기식 입출력, 저장 장치 계층 구조, 프로그램의 실행(System Structure & Program Execution 2) 4. 프로세스 : 프로세스의 개념, 프로세스의 상태..
1. Disk Scheduling Algorithm디스크 스케줄링 알고리즘은 디스크에 대한 외부 요청을 효율적으로 처리하기 위해 사용됩니다. 스케줄링 알고리즘이 구현되는 곳은 디스크 내부가 아니기 때문에, 대부분 스케줄러는 디스크의 정확한 위치를 알지 못합니다. 그래서 섹터와 매핑된 논리 블록 번호를 기반으로 스케줄링을 하게 됩니다. 실제 구현에서는 자주 사용되는 방법은 아니지만 이해를 돕기 위해서, 이번 포스팅에서는 각각의 알고리즘을 실린더 번호를 예시로 살펴보겠습니다.  (1) FCFS (First Come First Serve)이 알고리즘은 먼저 도착한 순서대로 요청을 처리합니다. 이로 인해 헤드의 이동거리가 길어져 비효율적일 수 있습니다.  (2) SSTF (Shortest Seek Time Fi..
1. 디스크 구조 가장 일반적인 보조 기억 장치인 하드 디스크는 아래 사진과 같은 구조로 되어있습니다. 디스크는 원판(plotter), 팔(arm), 헤드(head)로 구성되어 있습니다. 원판에는 원 모양의 트랙(track)이 존재하며, 모든 원판에서 같은 위치를 갖는 트랙들의 집합을 실린더(cylinder)라고 합니다. 각 트랙은 섹터(sector)로 구성되어 있으며, 섹터는 데이터를 읽거나 기록할 때의 기본 단위입니다. 보통 섹터의 크기는 512바이트입니다. 디스크의 헤드는 각 원판의 읽기/쓰기가 가능한 면마다 하나씩 존재합니다. 헤드의 개수, 트랙(또는 실린더)의 개수, 그리고 각 트랙마다 섹터의 개수에 따라 디스크의 전체 용량과 물리적 특성이 결정됩니다. 섹터는 디스크 내부에서 데이터를 관리하는 ..
1. Page Cache와 Buffer Cache 컴퓨터 시스템에서 데이터의 빠른 접근과 관리를 위해 Cache라는 개념을 사용합니다. 가상 메모리 시스템과 파일 시스템에서 데이터를 캐싱하는 방법에는 각각 Page Cache와 Buffer Cache라는 캐싱 매커니즘이 사용됩니다. (1) Page Cache (페이지 캐시) 가상 메모리 시스템에서는 Page Cache가 사용됩니다. Page Cache는 물리적 메모리의 페이지 프레임을 관리하며, 주로 가상 메모리의 페이지 프레임을 캐싱합니다. 이 페이지 프레임은 Swap 영역보다 빠른 메모리에 위치하여 데이터의 빠른 접근을 가능하게 합니다. Page Cache는 운영체제가 페이지 캐시에서 데이터를 찾을 때 하드웨어 주소 변환만 수행하므로 접근 시간에 대한..
동구름이
'CS/운영체제' 카테고리의 글 목록