본문 바로가기

os기초6

[ OS 기초 ] 11. File System (2) 1. 디스크 시스템(disk system) - 파일이 저장되는 곳 2. 파일 시스템(file system) - 파일에 대한 이해와 디렉토리, 파티션 3. 디렉토리 시스템(directory structure) - 다양한 디렉토리 구조 4. 파일 보호(file protection) - 파일 보호/접근 제어 방법 5. allocation methods - 구현 및 메모리 할당 기법 00 개요 지금까지 파일의 개념과 디렉토리, 파티션 등 파일 시스템의 기본 구조에 대해 살펴보았고, 다음으로 파일 보호 구현 방법과 파일 저장 시 메모리 할당 및 관리 방식에 대해 알아보았다. 01 파일 보호 파일 보호(File Protection)란 파일에의 부적절한 접근을 막는 것으로, 다중 사용자 시스템에서 특히 중요하다. 예.. 2021. 7. 23.
[ OS 기초 ] 10. Virtual Memory Management 0. 가상 메모리 관리란 무엇인지, 관련된 개념 1. 가상 메모리 관리 - 하드웨어 컴포넌트 2. 가상 메모리 관리 - 소프트웨어 컴포넌트 3. 가상 메모리 관리 - 소프트웨어 컴포넌트 중 교체 전략 - FA, VA based를 중심으로 (다음에...) 4. 기타 가상 메모리 관리 시 고려해야 할 요소들 (다음에...) 00 개요 앞서 지금까지 메모리 관리를 연속 할당과 비연속 할당으로 나누어 살펴보았고, 비연속 할당에서 paging system, segmentation을 공부하며 가상 메모리를 접해보았다. 시스템을 보다 효율적으로 사용하기 위해서는 이러한 가상 메모리를 잘 관리할 필요가 있기 때문에 가상 메모리 관리를 위한 다양한 방법과 전략에 대해 살펴보았다. 01 가상 메모리 관리 비연속 할당( n.. 2021. 7. 19.
[ OS 기초 ] 06. 프로세스 동기화, 상호배제 (2) - 상호배제 기법 1. SW solutions - 데커, 피터슨, 다익스트라 알고리즘 2. HW solutions - TAS Instruction 3. OS supported SW solutions - Spinlock, Semaphore, Eventcount & Sequencer 4. Language Level Solution - Monitor 00 도입 여러 프로세스가 동시에 같은 자원을 필요로 하는 상황에서 발생할 수 있는 문제를 해결하기 위해 상호 배제, 즉 임계 공간(critical section)에는 한 번에 하나의 프로세스만 들어갈 수 있도록 구현해야 함을 알 수 있었다. 이러한 상호 배제 기법에는 소프트웨어를 통한 구현, 하드웨어를 통한 구현, 운영체제의 지원을 기반으로 구현하거나 프로그래밍 언어를 통한 구현.. 2021. 7. 2.
[ OS 기초 ] 06. 프로세스 동기화, 상호배제 1. 동기화란? 2. 동기화의 개념과, 동기화를 하는 이유 3. 동기화와 관련된 개념 4. 상호배제와 기법 00 동기화란? 동기화(Synchronization) 은 쉽게 말해 시스템 프로세스 간 정보를 공유하는 행위라 정리할 수 있다. (프로세스의 대화) 01 동기화, 하는 이유 우리가 평소 이용하는 컴퓨터는 '다중 프로그래밍 시스템' => 여러 프로세스가 동시에 돌아간다 - 프로세스는? 자원을 제어해 작업을 수행하여 목적을 달성한다 - 그렇다면 여러 프로세스가 하나의 자원을 동시에 쓰려고 한다면? 문제가 발생할 수 있다 ex. race condition : 실행 순서에 따라 결과가 달라지는 것 특히 프로세스는 기본적으로 '비동기적' 이면서 '병행적' 이다 - 비동기적(Asynchronous) : 다른 .. 2021. 6. 30.
[ OS 기초 ] 04. 프로세스 스케줄링 01. 프로세스 스케줄링의 개념 02. 스케줄링의 기준 03. 스케줄링 단계(level) 04. 스케줄링 정책 00 도입 앞서 배웠던 내용을 간단히 정리해보면, 프로세스는 자원을 할당받아 목적을 달성하기 위한 작업을 수행한다. 운영체제는 다양한 방식으로 프로세스를 처리한다 (일괄처리, 시분할 등등) 다중 프로그래밍 시스템에서는 여러 프로세스를 동시에 처리해야 한다 이때 운영체제가 어떤 프로세스에세 어떤 자원을 먼저 할당해줄지 결정하는게 스케줄링 01 프로세스 스케줄링 우리가 사용하는 시스템은 멀티 프로그래밍 시스템으로 여러 프로세스를 동시에 실행한다. 프로세스가 여러개인만큼 자원인 프로세서(cpu)를 번갈아가면서 사용해야한다. 따라서, 각 프로세스 수행을 위한 cpu를 할당해야 하는데(=자원을 나누어 사.. 2021. 6. 24.
[ OS 기초 ] 03. 스레드 관리 1. 스레드의 개념 2. 스레드의 구현 00 도입 스레드에 들어가기 전 기본 개념을 한 번 더 짚어보면 - 작업 : 목적 달성을 위해 필요한 프로그램과 데이터의 묶음 - 프로세스 : 자원을 할당받아 작업을 수행해 목적을 달성하는 것, 할당받은 자원을 제어한다 - 스레드 : 프로세스의 '제어' 부분 01 스레드의 개념 스레드 = 실 (표현 할 때 ~ 로 표현) 프로세스는 자원을 할당받아 이 자원을 제어하며 작업을 수행해나간다. 여러 자원을 할당받았을 때, 이 자원들을 제어 하는 것이 바로 스레드다. 01-1 스레드 프로세스 : 자원을 제어하여 목적 달성을 위해 작업을 수행하는 것 스레드는 여기서 제어에 해당하는데, 자원은 공유하고 있기 때문에 가벼운 프로세스(Light Weight Process)라 불린다.. 2021. 6. 23.