본문 바로가기

old drawer/Operating System

[OS] 운영체제를 공부합시다!! Operating System Inside - General Preface Part I 1. OS란 2. Computer Model 3. Virtual MemoryPage Table structureReverse Mapping 4. When memory was Not virtualReal mode vs protected mode? Segmented?OverlaySegmentation 5. Address Binding 6. Dynamic Allocation 7. Kernel vs UserKernel mode vs User modeKernel space vs User spaceSystem call and API 8. TLB &Cache 9. InterruptPC에서의 interruptInterrupt vec.. 더보기
[OS] GeekOS Projects!! GeekOS : An Instructional Operating System for Real Hardware Introduction 이 페이퍼는 GeekOS에 대해 설명한다. GeekOS는 실제 하드웨어(x86-based PC)에서 실행되는 작은 OS 커널이다. GeekOS는 Maryland 대학에서 학부 OS 수업에 프로젝트의 베이스로서 사용되었다.OS 커널 개발에는 두 가지 기본적인 접근이 있다. 1. 순수 하드웨어상의 실행, 하드웨어 디바이스에 직접적으로 노출시켰다. 2. host OS의 유저모드 내에서의 실행, 하드웨어 레벨의 시뮬레이팅 이 페이퍼에서 나는 순수 하드웨어 위에서 실행하는 것을 위한 의견 논쟁을 보여 줄 것이다. 그리고 GeekOS로부터 얻은 진짜 경험을 보충해 줄 것이다. 이 페이.. 더보기
[OS] 전역 변수와 지역 변수 지역변수와 전역변수 변수가 생성되는 기억 장소가 다르다. 전역 변수는 한번 정해진 메모리 위치에 계속 남아 있어야 하므로 정적 데이터 영역에 생성된다. 정적 데이터 영역이란 프로그램의 코드 바로 다음에 위치하는 메모리 공간인데 프로그램 실행중에 계속 유지된다. 지역 변수는 프로그램 실행중에 생성, 파괴를 반복하므로 스택에 생성된다. 스택(Stack)이라는 용어는 조금 어려운 개념인데 일단 데이터의 임시 저장소라고 생각하면 된다. 프로그램은 실행에 필요한 임시적인 정보들을 스택에 차곡 차곡 저장한다. 지역 변수, 인수, 함수가 돌아갈 번지 등이 스택에 생성되었다가 사라졌다가를 반복한다. 지역 변수는 임시 저장소인 스택에 생성되기 때문에 통용 범위가 함수로 국한되고 함수가 종료되면 같이 사라지는 것이다 초기.. 더보기
[OS] Semaphore 란? Description : o 세마포어 (semaphore)란 (1) ? - 동기화의 일반적인 방법인 세마포어 방법은 세마포어라는 정수 변수 (integer variable), 프로세스 대기열(process waiting queue), P와 V의 두 명령으로 구성된다. 초기 상태의 변수값은 자원의 수와 같으며 대기열은 비어 있다. P명령은 변수의 값을 하나 줄인 후, 변수의 값이 0보다 작으면 프로세스를 대기열로 집어 넣는다. 반대로 0보다 크면 그 프로세스는 계속 진행된다. V명령은 변수의 값을 하나 증가시킨다. 그 결과가 0보다 크면 프로세스는 계속되며 0보다 작으면 대기열의 프로세스 하나를 준비 상태로 만들고, 프로세스의 수행은 계속된다. 결국 변수의 값은 음수일 경우는 대기 중인 프로세스의 수를 나.. 더보기