OS 8

[OS] Week04 - 2 (3/25) : mailbox, synchronization, buffer, thread, multi threading

MailBox - Process : 여러개의 MailBox에 연결이 가능 - MailBox : 여러개의 Process에 연결이 가능 - MailBox 연결 설정은 Programmer가 원하는 대로 설정 - send(A, message) : A mailbox에 메세지 전송 - receive(A, message) : A mailbox에서 메세지 수신 MailBox 특징 4가지 - 1. Allow a link to be associated with at most two processes : 두가지 process끼리 연결 가능 - 2. Broadcasting : mailbox에서 다른 process에 메세지 전달 - 3. Allow only one process to receive a message : 한 pr..

[OS] Week04 - 1 (3/23) : fork, exec, zombie, abort, IPC, buffer, spin lock, synchronization

fork 함수의 몇가지 이슈 - 1. Resource sharing options : 자원 공유 : subset, 즉 일부만 공유한다 - 2. Execution options : 수행 측면 : Parent, child는 concurrently 하게 동작한다 Parent 는 child 가 termination 될때까지 wait 한다 - 3. Address space : Child 는 duplicate 한 후 exec 로 초기화를 하여 또다른 process를 생성한다 Stack, Heap, Data, Text 중 Text는 새로운 코드로 바뀌며 나머지는 초기화 된다. fork 4가지 측면 정리 - 1. Resource sharing : subset - 공유 가능 : file - 공유 불가능 : CPU tim..

[OS] Week03 - 2 (3/18) : process state, PCB, scheduler, architecture

Process address space - virtual memory - Stack : method, local value - heap : Dynamically allocate moemory - data - text : code Process - not Program (text) : passive : "Execution" - Program + Stack + Heap + PCB : active (유동적으로 변동한다) Process State - new : created - running : executed (현재 진행중인 프로세스) - waiting : Interrupt를 기다리는중 (I/O request 상태) - ready : 다른 process가 running 중일때 임시정지상태 - terminate..

[OS] Week03 - 1 (3/16) : parameter, layered structure, virtual machine, boot

Passing parameters in system calls - 1. register에 parameter 전달 : parameter 가 6개 이하일 경우 그대로 전달 - 2. regester에 block 전달 : parameter가 6개 초과일 경우 주소값 block을 전달 Micro-kernel-based-approach - Monolitic kernel과 반대되는 개념 - kernel에 process manager 등 핵심만 존재 - 많은 기능들을 user space에서 동작되도록 설계 - kernel 확장이 쉽다 - 새로운 구조를 넣기 쉽다 - 신뢰도가 상승한다 (버그 감소) - overhead, message passing이 빈번하게 발생한다 Simple structure - MS-DOS때 쓰인..

[OS] Week02 - 2 (3/11) : system call interface (POSIX - kernel - system call number - run)

OS 전반적인 내용 요약 - Process : 현재 수행중인 프로그램 (program in execution) : Context Switch를 통해 전환된다 - Thread : Overhead를 줄이기 위한 개념 - Scheduling : CPU - 100 process 중 1 process를 CPU가 연산 - Synchronization : "semaphore", "critical section" 중요개념 - Deadlock : process 중단현상 - Memory : Virtual Memory : address translation이 이루어진다 : MMU가 한다 (Memory Management Unit) - HDD scheduling : seektime이 오래걸린다, SSD : NVM, NVMe,..

[OS] Week02 - 1 (3/9) : storage structure, cashing, multiprocess, scheduling

Interrupt - DMA가 cpu 간섭없이 I/O 작업을 수행 후 종료를 알려주는 역할 - ISR : Interrupt Service Routine의 약어 (Interrupt Handler)로 Interrupt가 종료될 시 CPU가 필수로 수행하는 함수 Interrupt 수행순서 - I/O 작업이 수행된다 - DMA가 작업을 수행한다 - 작업이 종료되면 Interrupt가 발생한다 - CPU는 현재 수행중인 내용의 위치를 Save 한다 - CPU는 해당 Source의 ISR를 실행하기 위해 Interrupt Vertor 값을 참조한다 - ISR 위치를 찾아 수행한다 - ISR 종료 후 수행중인 위치로 복귀한다 Interrupt, Trap - Interrupt : external processor에 의..

[OS] Week01 - 2 (3/4) : OS 정의, DMA, Interrupt 개념

OS정의 - 1. 하드웨어를 관리하기 위한 프로그램 (CPU, Memory, I/O Device, Storage) - 2. 프로그램 수행을 제어하기 위한 프로그램 - 3. "Kernel" : 핵심 OS 위치 - application programes ---- computer hardware 사이에 위치 - "System call" 이용하여 hardware에 접근하는 방식 OS 네가지 원리 - I/O operation (DMA) - I/O structure (Cashing) - Interrupt - Storage structure I/O operation - I/O : local buffers(I/O 장치의 저장소) --- memory로 이동 - DMA를 통해 CPU는 "concurrently" 수행이 가..

[OS] Mac에서 VirtualBox로 Linux 설치하는 방법

Week01 - 01 OS란? - H/W를 관리하는 역할 - Process menagement -> CPU, GPU - Memory Management -> Momory - I/O systems -> I/O Devices - File systems -> Storage (HDD, SSD) API : "System call"를 사용 - read - write - fork - thread OS 소스코드 사이트 - codex.cs.yale.edu/avi/os-book/OS10/index.html Operating System Concepts - 10th edition codex.cs.yale.edu Linux Virtual Machine 설치하기 1. 위 사이트를 접속 2. Linux Virtual Machin..