728x90
반응형

운영체제 44

Paging, 페이징, 불연속 메모리 할당 [운영체제]

[Memory Management, 메모리 할당 방식 [운영체제] 에 이어서 불연속 할당에 대해서 알아보자 그 중 가장 대표적인 페이징에 대해서 알아보자 Paging 기법은 앞서 설명했던 것처럼 해당 프로세스의 관련된 데이터 모두를 적재하는 것이 아니다. 단순히 레지스터에 시작주소 값을 담아 사용하기에는 연속된 메모리영역이 필요하다. 이제 프로세스의 물리 주소 공간이 연속되지 않아도 되는 메모리 관리 기법인 페이징을 쓰는 것이다. 페이징은 연속 메모리 할당을 괴롭히는 2가지 문제인 외부 단편화, 관련 압축의 필요성을 피할 수 있게 한다. 이러한 많은 이점을 제공하기 때문에 대형 서버용 시스템부터 모바일 장치용 시스템까지 대부분의 운영체제에서 다향한 형태의 페이징이 사용된다. ++페이징은 운영체제와 컴퓨터..

Memory Management, 메모리 할당 방식 [운영체제]

메모리는 일반적으로 2 개의 부분으로 나누어진다. 하나는 운영체제를 위한 부분, 다른 하나는 사용자 프로세스를 위한 부분 **일반적으로 OS는 낮은 주소를 User Program은 높은 주소를 사용한다. 일반적으로 여러 사용자 프로세스가 동시에 메모리에 있기를 원하는데 그래서 메모리에 적재되기를 기다리는 프로세스에 사용 가능한 메모리를 할당하는 방법을 고려해야 한다. 연속적인 메모리 할당에서 각 프로세스는 다음 프로세스가 적재된 영역과 인접한 하나의 메모리 영역에 적재된다. 그러나 이 메모리 할당 기법에 대해 더 논의하기 전에 메모리 보호 문제를 해결해야 한다. **메모리 보호는 이전에 Relocation 레지스터와 limit 레지스터에 의해 보호된다고 언급했다. [컴퓨터(Computer Science)..

동기화를 위한 하드웨어 지원, Hardware Support for Synchronization

임계구역 문제에 대한 소프트웨어 기반 해결책도 있지만 이번엔 우선 하드웨어 기반 해결책을 보자 소프트웨어 기반 해결책이 최신 컴퓨터 아키텍쳐에서 작동하지 않을 수 있다는 점 때문에 알아보는 것이다. 임계구역 문제를 해결하기 위한 지원을 제공하는 세 가지 하드웨어 명령어를 알아보자 차례대로 알아보자 • Many systems provide hardware support for implementing the critical section code. • All solutions below based on idea of locking Protecting critical regions via locks • Uniprocessors – could disable interrupts Currently running c..

ㅌㅌㅌXXXXXXX

메모리 관리는 프로세스의 물리 주소 공간이 연속적이어야 한다고 생각했다. 많은 이점을 제공하기 때문에 대형 서버용 시스템에서부터 모바일 장치용 시스템까지 대부분의 운영체제에서 다향한 형태의 페이징이 사용된다. ++페이징은 운영체제와 컴퓨터 하드웨어 간의 협력을 통해 구현된다. • Physical address space of a process can be noncontiguous; process is allocated physical memory whenever the latter is available 1. Avoids external fragmentation 2. Avoids problem of varying sized memory chunks • Divide physical memory into f..

카테고리 없음 2020.06.03

Segmentation, 세그먼트, 불연속 메모리 할당 [운영체제]

[컴퓨터(Computer Science)/운영체제(Operation System)] - Paging, 페이징, 불연속 메모리 할당 [운영체제] 메모리 할당 방법에는 페이징 말고도 다른 방법이 있다. 세그먼트 방식인데 한 번 알아보자 약간 중요도는 페이징보다는 떨어진다. 페이징과 비슷해보인다. 페이징은 그냥 쪼갠다하면 segment는 의미단위로 쪼갠다. 역시 주소 구성방법도 페이징과 매우 비슷하다. page number, page offset과 비슷해보인다. ** 각각 레지스터에 저장된 값과 비교하여 정상적인 작동을 돕고 아니면 trap을 건다. 직접 어떻게 구조가 이루어지나 본다면 CPU가 논리주소를 주게 되면 2부분으로 나누어 number에 맞는 장소를 찾기위해 segment table로 간다. 하지만..

Memory Management, 메모리 관리 기본 개념 [운영체제]

메모리에 대해서 알아볼 것이다. CPU는 PC(프로그램 카운터)가 지시하는 대로 메모리로부터 다음 수행할 명령어를 가져온다. 그 명령어는 추가적인 데이터가 필요하거나, 데이터를 메모리로 내보낼 수 있다. 명령어 실행은 메모리로부터 명령어를 가져오고, 해독하고 메모리에서 피연산자를 가져오고 그래서 실행한 후, 결과를 메모리에 저장한다. 메인 메모리와 각 처리 코어에 내장된 레지스터들은 CPU가 직접 접근할 수 있는 유일한 저장장치이다. Instruction들은 메모리 주소만을 인수로 취하고, 디스크의 주소를 인수로 취하지 않는다. ** Disk에 있다면 CPU가 쓸 수 없다는 말이다. ++일반적으로 CPU 코어에 내장된 레지스터들은 일반적으로 CPU clock의 cycle에 맞춰서 접근한다. 메모리 버스를..

동기화, 세마포 : Synchronization, Semaphores [운영체제]

많은 쇼프트웨어적 동기화 도구들이 있지만 우선 Semaphores, 세마포를 알아보자 이 글은 프로세스와 동기화, 임계구역에 대한 이해를 바탕으로 쓰는 글이다. [CS Interview] - Process, 프로세스란? [컴퓨터(Computer Science)/운영체제(Operation System)] - Critical Section, 임계구역이란? [운영체제] [컴퓨터(Computer Science)/운영체제(Operation System)] - 프로세스에서의 동기화 (Process Synchronization) [운영체제] **추가예시 [컴퓨터(Computer Science)/시스템 프로그래밍(System Programming)] - 세마포어,Semaphores 그 쓰임과 예시 Semaphores,..

CPU 스케줄링 알고리즘, Scheduling Algorithms [운영체제]

여러가지 알고리즘이 있는데? 몇 개만 맛만 보자 CPU 스케줄링은 준비 큐에 있는 어느 프로세스에 CPU 코어를 할당할 것인지를 결정하는 문제를 다룬다. 여러 가지 다른 CPU스케줄링 알고리즘들이 있다. 1. 선입 선처리 스케줄링 (First Come First-Served Scheduling) 2. 최단 작업 우선 스케줄링(Shortest-Job-First Scheduling) 3. 라운드 로빈 스케줄링(Round-Robin Scheduling) 4. 우선순위 스케줄링(Priority Scheduling) 5. 다단계 큐 스케줄링(Multilevel Queue Scheduling 6. 다단계 피드백 큐 스케줄링(Multilevel Feedback Queue Scheduling) 몇개만 보자 **알고 들..

CPU Scheduling criteria, 스케줄링 기준 [운영체제]

당연히 아무거나 스케줄링을 하진 않는다. 아무거나하면 효율적으로 나올리가 있나?? 당연히 없다. 스케줄링 알고리즘이 여러가지가 있는데 걔네들은 뭘 기준으로 짠걸까?? 기준 알아보자 우선 우리가 배운 것들을 알아보면? 5가지가 있다. • CPU utilization – keep the CPU as busy as possible • Throughput – # of processes that complete their execution per time unit • Turnaround time – amount of time to execute a particular process • Waiting time – amount of time a process has been waiting in the ready qu..

728x90
반응형