본문 바로가기

IT Basic/Operating System11

[OS] OS 캐시와 분산 웹 개발자를 위한 대규모 서비스를 지탱하는 기술, 3장 대규모 서비스를 지탱하는 기술 - YES24 이 책은 대규모 서비스를 개발, 운용하는 기술자를 위한 입문서다. 하테나가 학생을 대상으로 개최하는 인턴십에서 수행하는 실제 기술 강의를 기반으로 구성되어 있다. 계속해서 성장하고 있 www.yes24.com 3장, OS 캐시와 분산 디스크 seek 횟수를 최소화하기 위한 요령 - 데이터량 증가에 강한 알고리즘 / 데이터 구조 사용 - 데이터 압축 - 정보 검색 기술 (용도에 특화된 검색엔진) System Acivity Reoporter - 부하의 지표를 시간경과에 따라 비교해서 열람할 수 있다. sar CPU 사용률, I/O 대기율 확인가능 OS 캐시 OS가 캐시로 대규모 데이터를 효율적으로 처리하려 하.. 2023. 1. 16.
[OS] 9장 디스크 관리 9장, 디스크 관리 디스크(disk)? 컴퓨터 시스템의 대표적인 2차 저장장치 메모리는 휘발성(volatile) 저장장치 이므로 데이터를 영구히 저장하기 위한 2차 저장장치는 필수적이다. 디스크 구조 디스크는 일정한 크기의 저장공간들로 이뤄진 1차원 배열로 취급하는데, 이때 일정한 크기의 저장공간을 논리 블록(logical block)이라고 한다. 섹터(Sector) : 논리 블록이 저장되는 디스크 내의 물리적인 위치, 트랙을 구성하는 것, 최소한의 단위 정보 저장 트랙(Track) : 디스크의 마그네틱 원판을 구성하는 것 실린더(Cylinder) : 원판에서 상대적 위치가 동일한 트랙들의 집합 암(arm) : 디스크에 데이터를 읽고 쓰기 위한 것 디스크 스케줄링 디스크에 대한 접근시간(Access ti.. 2022. 1. 5.
[OS] 8장 가상메모리 8장, 가상메모리 프로그램이 CPU에서 실행되려면, 실행에 필요한 부분이 메모리에 올라와 있어야 한다. 이때 운영체제는 어떤 프로그램에 얼마만큼의 메모리 공간을 할당할지를 결정해야 한다. 프로세스의 빠른 수행을 위해 프로세스마다 최소한으로 확보해야 하는 메모리의 크기가 존재하기 때문에, 균등하게 할당하기보다는 특정 프로그램에 집중적으로 할당하는 방식을 사용한다. 프로그램이 실행되기 위해서 프로세스의 주소 공간 전체가 메모리에 올라와야 하는 것은 아니다. 당장 수행해야 할 부분만 메모리에 올려놓고, 나머지는 디스크의 스왑(swap) 영역에 두었다가 필요할 때 가져와 사용할 수 있다. 이를 통해 프로그램은 물리적 메모리 크기를 고려하지 않아도 된다. 프로세스는 자신만이 메모리를 사용한다고 가정하고 0번지부터.. 2022. 1. 5.
데드락(Deadlock, 교착상태)에 대해 데드락이란, 둘 이상의 프로세스가 서로 상대방의 작업이 끝나기만을 기다리며 무한 대기에 빠지는 상황을 말한다. 데드락의 발생 조건 상호 배제(Mutual exclusion) 한 번에 하나의 프로세스만 해당 자원을 사용할 수 있다. 점유 대기(Hold and wait) 자원을 최소한 하나 보유하고, 다른 프로세스에 할당된 자원을 기다린다. 비선점(non-preemptive) 다른 프로세스의 사용이 끝날 때까지 자원을 빼앗을 수 없다. 순환 대기(Circular wait) 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있다. 데드락의 관리 방법 1. 예방 : 발생조건의 제거 상호 배제(Mutual exclusion) 제거 한 번에 여러 프로세스가 공유 자원을 사용할 수 있도록 변경한다 - .. 2021. 12. 30.
[OS] 7장 메모리 관리 7장, 메모리 관리 메모리는 주소를 통해 접근하는데, 메모리 주소는 이진수로 매겨진다. 컴퓨터는 바이트(byte) 단위로 메모리 주소를 부여한다. 메모리 주소는 계층적으로 관리하는데, 보통 4KB(12비트) 단위로 묶어 페이지(page)를 만들어 사용한다. 프로세스는 실행을 위해 메모리에 적재될 때 프로세스를 위한 독자적인 주소 공간이 형성된다. 이 주소를 논리적 주소(logical address) 혹은 가상 주소(virtual address)라고 한다. 각 프로세스에 독립적으로 할당된 논리적 주소는, 0번지부터 시작한다. 물리적 주소(physical address)는 물리적 메모리에 실제로 올라가는 위치를 말한다. 보통 물리적 메모리의 낮은 주소 영역에는 운영체제가, 높은 주소 영역에는 사용자 프로세스.. 2021. 12. 28.
[OS] 6장 CPU 스케줄링 6장, CPU 스케줄링 CPU? 기계어 명령을 실제로 수행하는 컴퓨터 내의 중앙처리장치 프로그램 카운터(Program Counter : PC)? 현재 수행할 코드의 메모리 주소 값을 가지고 있는 레지스터 기계어 명령의 종류 CPU 내에서 수행되는 명령 - 수행 속도가 매우 빠름 - 일반명령 - ex) Add 메모리 접근을 필요로 하는 명령 - CPU 내에서 수행되는 명령보다는 느리지만 비교적 빠른 속도 - 일반명령 - ex) Load, Store 입출력을 동반하는 명령 - 매우 긴 수행 시간 - 특권 명령 프로그램의 수행 단계 CPU 버스트(burst) 사용자 프로그램이 CPU를 직접 가지고 빠른 명령을 수행하는 일련의 단계 I/O 버스트(burst) I/O 요청이 발생해 커널에 의해 입출력 작업을 진행.. 2021. 12. 28.
반응형