본문 바로가기

Operating System

(7)
[운영체제 OS] RAID 개념잡기! RAID란? 신뢰성과 성능 두 마리 토끼 잡기, 레이드 기술 [ 운영체제 Operating System 완전 정복 목차! ] 안녕하세요~! 운영체제 포스팅을 한지 시간이 쪼끔 된 것 같아서, 오랜만에 운영체제 관련 글을 들고 왔어요 ㅎㅎ 오늘 다뤄볼까 하는 포스팅은 RAID관련입니다. ㅎㅎ RAID란? RAID란 Redundant Array of Inexpensive Disk의 약자예요 ㅎㅎ 굳이 우리말로 옮겨보면, '값싼 디스크의 중복 배열법'이 되겠죠? 왜 이런게 나왔고 이런 이름이 붙었는지는 차근차근 포스팅을 읽다보면 이해가 될거예요 ㅎㅎ RAID는 사실 이미 상용화가 널리 되어있어서 많이 사용되고 있는 기술입니다. 집에서 데스크탑 하나로 게임을 했던 학생 시절엔,, 사실 볼 일이 별로 없었겠지만,, 중소기업 같은 회사에서 서비스를 위해서 많이 사용되는 기술..
[운영체제]Dynamic Loading 동적적재 & Overlays 오버레이 (paging VMM과 차이점) 운영체제 마스터 목차 Dynamic Loading 동적 적재란?Dynamic loading 프로세스가 시작될 때 그 프로셋의 주소 공간 전체를 메모리에 올려놓는 것이 아니라 메모리를 좀 더 효율적으로 사용하기 위해 필요한 루틴이 호출될 때 해당 루틴을 메모리에 적재하는 방식을 말합니다. 먼저 Loading은 메모리로 데이터를 옮기는 것을 로딩이라고 해요.프로그램을 실행시키면 .exe에 있는 파일이 메모리에 올라가야지 실행이 되잖아요. 그것을 로딩 즉 메모리에 적재한다고 합니다. 자 우리가 전 포스팅에서 매우 자주 봤던 Address map으로 살펴봅시다 Code segment와 data segment 얘네는 실행파일에 있다고 말했죠? Code segment와 data segment는 파일에 있는 것을 읽..
[운영체제]Static Linking vs Dynamic Linking(shared Library) 정적링킹 vs 동적링킹 운영체제 목차 Dynamic Linking을 이해하려면 Linking에 대해 이해를 하고 있어야하기 때문에 저번시간에 링킹에 대해서 포스팅을 했어요 링킹과정에서 오브젝트 파일을 라이브러리와 같이 Linking을 하는데 그 Linking을 하는 방법에 크게 두 가지가 있어요 딱 감이오죠 ? Dynamic Linking과 Static Linking! Static Linking이란? 일단 Static Linking이 이해하기 쉬운데 실행파일 만들 때 라이브러리를 같이 포함시켜서 .exe파일을 만드는 것을 Static Linking 즉 정적링킹이라고 합니다. 예를 들어 출력할 때 cout이라는 클래스 라이브러리를 사용하잖아요 그 cout이라는 클래스 라이브러리를 실행하는 코드가 있겠죠. hello.exe에다가 ..
[OS]링킹(Linking)이란? 링커(Linker)란? 컴파일 과정,목적파일, 빌드과정 운영체제 목차 메모리 관리를 시작하기 앞서 메모리 관리와 관련된 몇 가지 단어들이 나오는데 이런 단어들을 이해를 못하고 있으면 안됩니다. Linking에 대해서는 프로그램 컴파일에 대해서 배웠으면 당연히 알고 있어야 해요!! Dynamic Linking 과 Static Linking 또한 알고 있어야합니다. 아시는 분들은 이번 포스팅은 그냥 가볍게 읽고 넘기면 되겠숩니다 모르는 분들이나 다시 상기시키기 위해서 가볍게 포스팅하고 넘어갈게요 이번 포스팅은 Linking에 대해서 (사실 운영체제 과목 내용은 아니지만 이해를 돕기 위해 진행하는 포스팅) 다음 포스팅은 Dynamic Linking과 Static Linking에 대해서 살펴볼게요 프로그램 빌드 과정- 컴파일 과정 링킹은 프로그램을 빌드 하는 과정에..
[운영체제OS]Memory Management 메모리 시스템(메모리 관리 목표) Operating System Chapter 8 Memory Management Strategies 메모리 관리오늘은 본격적으로 메모리 관리 파트에 들어가기 전에, 하는 소개 및 잡담? 및 개요? 정도의 포스팅이예요. 우리 운영체제가 하는 게 컴퓨터 하드웨어 자원을 관리하는 건데 컴퓨터 하드웨어가 대표적으로 CPU, Memory, I/O가 있다고 했죠그래서 OS가 하는 일이 CPU관리, 메모리관리, I/O관리예요. We showed how the CPU can be shared by a set of processes. As a result of CPU scheduling, we can improve both the utilization of the CPU and the speed of the comput..
[운영체제]critical section(임계영역) & lock 락 & busy-waits [운영체제(OS) 목차 &책 추천] 저번시간에 동기화에 대해서 살펴봤고~ (이어서 진행하는 거라 이전 포스팅을 보고 오지 않으면 이해가 불가능합니다) 이번에는 동기화를 우리가 어떻게 풀어왔느냐~ 의 서두를 열 LOCK에 대해서 살펴볼게요 critical section 임계영역이란 용어 또한 전에 동기화 포스팅에서 배워서 다 알고 있는거예요! (헷갈리시는 분은 보고오기) 여기서 공유되는 자원, 즉 동시접근하려고 하는 그 포커싱된 자원!에서 문제가 발생하지 않게 독점을 보장해줘야 하는 영역을 임계영역이라고 해요. 이거 제어를 잘해야 동기화 문제가 안생기겠죠? 그래서 critical 중요한~ section 영역! 임계영역이라고 합니다. 저번 시간의 예시를 빌려오자면 남자친구와 여자친구 쪽에서 동시에 접근하려고..
[운영체제]시스템에 따른 스케줄링의 목표 (Scheduling goals) [운영체제(OS) 목차 &책 추천] 저번시간에 스케줄링이 무엇인지! 좋은 스케줄링 알고리즘에 대해 알아봤어요 이번에는 스케줄링의 목표 다음시간에는 non-goals (하지 말아야 할 것 - 대표적: starvation)에 대해서 알아볼게요 스케줄링의 목표 Scheduling Goals 일단 보편적으로 스케줄링에는 목표가 있습니다.공평해야 해요!! 컴퓨터 시스템에서는 가장 중요한 원칙이 fairness입니다. 어느 하나 놀고 어느 하나는 바쁘게 일하고 이렇게 스케줄링 하지 않는 것이 목적입니다. 그래도 특정 컴퓨터 시스템마다 추구하는 것이 조금씩 다를 수 있다.사실 이번 내용은 앞의 포스트에서 이루어졌던 scheduling criteria를 확실하게 이해하고 계시면 다 유추 가능한 내용들입니다.Schedu..