목록컴퓨터 공학/운영체제 (5)
MAKE IT SIMPLE

1. DeadLock 이란 1) DeadLock 은 각자의 프로세스가 자원을 점유하고 있으면서 다른 프로세스가 점유한 자원을 기다리며 block 된 교착 상태를 말한다. 2) Resource(자원) 하드웨어, 소프트웨어 등을 포함하는 개념 ex) I/O device, CPU cycle, memory space, semaphore 등 프로세스가 자원을 사용하는 절차 Request(요청) → Allocate(할당) → Use(사용) → Release(방출) ※ Resource-Allocation Gragh (자원 할당 그래프) - 프로세스와 자원의 요청 및 할당 관계를 표시한 그래프다 => 순환 대기 조건을 발견하기 위한 목적으로 사용한다 2. DeadLock 의 발생 조건(=이유) 1. Mutual Exc..

1. Race Condition 과 Critical Section 이란 Race Condition = 경쟁 상태 - 두 개 이상의 프로세스가 공용 자원을 병행적으로 읽거나 쓰는 작업을 하는 상태 -> 공통 데이터에 대한 접근이 어떤 순서에 따라 이루어졌는지에 따라 그 실행 결과가 달라진다 Critical Section = Race Condition 이 발생할 수 있는 부분 - 프로그래밍 코드 상에서 공유 데이터를 접근하는 부분을 뜻한다. 여기에서 문제점들이 발생함. -> 이 영역에 한번에 한 프로세스만 들어올 수 있도록 해야함 = 동기화의 필요성 => 모든 프로세스가 읽을 수 있는 공유 변수(Synchronization variable)를 놓고 알고리즘을 설계하기 시작 **프로세스는 크게 4가지 구역으로..

1. 프로세스는 어떻게 생성되고 실행되니 - 프로세스는 프로세스 생성 시스템 콜(fork())을 통해 새로운 프로세스들을 생성할 수 있다 부모 프로세스 : 다른 프로세스를 생성하는 프로세스 자식 프로세스 : 다른 프로세스에 의해 생성된 프로세스 이때 생성된 새로운 프로세스의 주소 공간(Address Space)은 일반적으로 부모 프로세스를 카피해서 만들어지게 된다 부모의 공간을 그대로 복사 = 완전히 같은 복사본 (효율성을 위해 몇 OS 에서는 자식이 부모의 주소 공간을 공유) 부모 프로세스와는 다른 새로운 프로그램 - exec() (덮어쓰기) int main() { int pid; pid = fork(); ------------ 복제 일어남 --------------> if(pid == 0) { pri..

1. 컴퓨터 시스템 ▷ 컴퓨터 시스템의 기본 3요소 사용자(User) : 컴퓨터를 사용하여 원하는 결과를 얻는 대상. 주로 사람이지만, 때로는 컴퓨터, 기계, 통신장비, 로봇 등 일 수도 있다. 컴퓨터 시스템의 궁극적인 혜택을 보는 대상이라고 보면 됨! 하드웨어(Hardware) 소프트웨어(Software) ▷ 컴퓨터 시스템의 구조 내부 장치 CPU(Central Processing Unit) : 중앙에서 사용자가 입력한 명령어를 해석하고 연산한 후 그 결과를 알려준다. Memory : Random Access Memory 즉, 램(RAM)은 임의의 영역에 접근하여 읽고 쓰기가 가능한 주기억 장치다. RAM은 어느 위치에 저장된 데이터든지 처리하는 데 동일한 시간이 걸린다. 현재 실행되는 프로세스들이 여..

1. Computer 란 무엇이고 어떻게 구성되는지? ※ 컴퓨터의 구성 하드웨어 Hardware 컴퓨터의 모든 물리적 부품 기능: 입력, 출력, 제어, 기억, 연산 ex) 메인보드, 사운드카드, 기억장치 등등 소프트웨어 Firmware 하드웨어를 제어하는 가장 기본적인 프로그램 ex) 바이오스(Bios) - 컴퓨터 부팅 시 가장 먼저 기동되는 애 Operation System 컴퓨터 하드웨어 자원과 소프트웨어 자원을 연결 및 운영 관리하는 프로그램 하드웨어와 소프트웨어간의 소통을 도와주는 Interface 라고...(응?) 종류 Windows - Windows XP, Windows CE.NET ... (데스크탑의 절대 강자) Linux - Redhat, Fedora, CentOS, Ubuntu ... U..