Goal 병행성(Concurrency)의 원리와 주요 용어를 이해할 수 있음 경쟁상태(Race Condition)의 문제점에 대해 이해할 수 있음 상호배제(Mutual Exclusion)의 필요성을 이해할 수 있음 세마포어를 정의하고 동작 방식을 이해할 수 있음 모니터를 정의하고 동작 방식을 이해할 수 있음 메시지 전달을 이용한 상호배제 기법을 이해할 수 있음 병행성 원리 병행 처리의 문제점 전역 자원의 공유가 어려움 운영체제가 자원을 최적으로 할당하기 어려움 프로그래밍 오류를 찾아내는 것이 어려움 병행성과 관련 있는 주요 용어 운영체제 고려 사항 다양한 프로세스의 행위를 추적할 수 있어야함 각 프로세스에게 자원을 할당하거나 반납 받을 수 있어야함 한 프로세스가 소유한 자원이나 데이터를 다른 프로세스의 ..
Goal 프로세스와 쓰레드의 차이를 이해할 수 있음 쓰레드와 관련된 기본 설계 이슈를 설명할 수 있음 사용자 수준의 쓰레드와 커널 수준의 쓰레드의 차이를 설명할 수 있음 프로세스와 쓰레드 현대 OS에서 프로세스는 태스크(Task) 및 쓰레드(Thread)라는 두 객체(특성)으로 분리 태스크 : 사용자 문맥, 시스템 문맥(Resource Container) -> 프로세스와 혼용하여 사용하기도 함 쓰레드 : 제어 흐름(실행 정보, 레지스터 문맥) -> 경량 프로세스라고 부르기도 함 쓰레드 모델 쓰레드(Thread) 장점 프로세스에 비해 새로운 쓰레드 생성 시간/비용이 절약 프로세스 종료 시간보다 쓰레드 종료 시간이 짦음 한 프로세스 내의 두 쓰레드들 사이의 교환/교체 시간이 짧음 동일 프로세스 내의 쓰레드들..
Goal 프로세스를 정의하고, 제어 블록으로 관계를 설명할 수 있음 프로세스 상태의 개념을 설명하고, 상태 전이에 대해 설명할 수 있음 프로세스 관리를 위한 자료구조 및 자료구조 구성 요소들의 목적을 설명할 수 있음 운영체제 요구조건 운영체제는 적절한 응답 시간을 제공하면서 처리기 이용률을 극대화할 수 있도록 여러 프로세스 수행을 인터리빙(interleaving)해야 함 교착상태를 회피함과 동시에 특정 정책(우선순위 부여)에 부합하도록 자원을 프로세스에게 할당해야함 프로세스 간 통신과 사용자의 프로세스 생성을 지원하고 구조화하는데 도움이 되야함 프로세스 정의 수행 중인 프로그램 컴퓨터에서 수행 중인 한 프로그램의 인스턴스 한 처리기 상에 할당되어 실행될 수 있는 객체 명령들의 순차 실행, 현재 상태, 연..
Goal 운영체제의 핵심 기능에 대한 이해 주요 운영체제 설계 영역에 대한 이해 가상화에 대해 정의하고 설명할 수 있음 운영체제 설계 이슈에 대한 이해 운영체제 응용 프로그램의 실행을 제어하는 프로그램 컴퓨터 사용자와 하드웨어 사이에 중재자(intermediary) 역할을 하는 프로그램 커널 (Kernel) : 주 메모리에 상주하는 운영체제 핵심 일괄처리 멀티 프로그래밍 여러 개의 프로그램이 메모리에 올라와 CPU를 번갈하가며 사용하며 작업을 수행 멀티 프로그래밍을 위한 운영체제 기능 운영체제에 의해 I/O 작업이 수행 메모리 관리 : 여러 개의 job에 메모리 할당 CPU 스케줄링 : 준비 상태에 있는 job 중 하나를 선택해 CPU를 할당 목적 : CPU 이용률(utilization)의 극대화 단점 ..
프로세스의 주소 공간 프로그램이 CPU에 의해 실행됨 → 프로세스가 생성되고 메모리에 **'프로세스 주소 공간'**이 할당됨 프로세스 주소 공간에는 코드, 데이터, 스택으로 이루어져 있다. 코드 Segment : 프로그램 소스 코드 저장 데이터 Segment : 전역 변수 저장 스택 Segment : 함수, 지역 변수 저장 왜 이렇게 구역을 나눈건가요? 최대한 데이터를 공유하여 메모리 사용량을 줄여야 합니다. Code는 같은 프로그램 자체에서는 모두 같은 내용이기 때문에 따로 관리하여 공유함 Stack과 데이터를 나눈 이유는, 스택 구조의 특성과 전역 변수의 활용성을 위한 것! 프로그램의 함수와 지역 변수는, LIFO(가장 나중에 들어간게 먼저 나옴)특성을 가진 스택에서 실행된다. 따라서 이 함수들 안에..
프로세스 & 스레드 프로세스(Process) : 프로그램을 메모리 상에서 실행중인 작업 스레드(Thread) : 프로세스 안에서 실행되는 여러 흐름 단위 기본적으로 프로세스마다 최소 1개의 스레드 소유 (메인 스레드 포함) 프로세스는 각각 별도의 주소공간 할당 (독립적) Code : 코드 자체를 구성하는 메모리 영역(프로그램 명령) Data : 전역변수, 정적변수, 배열 등 (초기화된 데이터) Heap : 동적 할당 시 사용 (new(), mallock() 등) Stack : 지역변수, 매개변수, 리턴 값 (임시 메모리 영역) 스레드는 Stack만 따로 할당 받고 나머지 영역은 서로 공유 하나의 프로세스가 생성될 때, 기본적으로 하나의 스레드 같이 생성 프로세스는 자신만의 고유 공간과 자원을 할당받아 사..
일반적으로 하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어로 정의한다. 운영체제는 시스템의 자원과 동작을 관리하는 소프트웨어다. (시스템의 역할 구분에 따라 운영체제의 역할은 모두 다를 수 있다.) 운영체제를 큰 틀로 나눠보면 아래와 같다. 1. 프로세스 관리 프로세스, 스레드 스케줄링 동기화 IPC 통신 2. 저장장치 관리 메모리 관리 가상 메모리 파일 시스템 3. 네트워킹 TCP/IP 기타 프로토콜 4. 사용자 관리 계정 관리 접근권한 관리 5. 디바이스 드라이버 순차접근 장치 임의접근 장치 네트워크 장치 항목별로 하나씩 좀 더 자세히 살펴보자 프로세스 관리 운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다. 어떤 의미에서..
Goal컴퓨터 시스템의 기본 요소와 관계 이해인터럽트 개념과 처리기의 인터럽트 사용 이유에 대한 이해전형적인 컴퓨터 메모리 계층 구조 이해멀티프로세서의 기본 특성과 멀티코어의 구조 이해 컴퓨터 구성 요소처리기 (Central Processing Unit) : 데이터 연산, 논리 연산(ALU), 제어(control unit), register주기억장치 (Main Memory) : 메모리 내의 개별적인 저장 공간 (휘발성)저장장치 (Storage Device) : 디스크, CD-ROM, 플로피, Flash Memory (비휘발성)입출력장치통신장치 : Modem, Ethernet, Bluetooth 컴퓨터 구성 요소 (최상위 수준 관점) 메모리 주소 레지스터 (Memory Address Register) : ..
KB4489899 윈도우10 에서 이놈이 절전모드상태후 깨어나지 못하는, 혹은 블루, 등 요상한 증세를 발생시킨다는 놈. 제거를 해버릴까 하는중이다. 일단 제어판- 프로그램 및 기능 - 에 가면 왼쪽 에 설치된 업데이트 보기 가 있다. 그러나.. 관리자(Administrator)상태이지만 , 아래와 같이 제한이 되어 있다. 윈도우에서 보안상 막아둔듯. 시스템 관리자가 설치된 업데이트를 사용할 수 없도록 설정했습니다 윈도우키 + R 실행창에서 gpedit.msc 입력 엔터 또는 시작메뉴클릭 gpedit.msc 입력해보면 항목이 뜰 것이다. 사용자구성 - 관리템플릿 - 제어판 - 프로그램 메뉴까지 클릭하면 우측에 "설치된 업데이트" 페이지 숨기기 가 있다. 기본값은 "구성되지 않음"이다. 더블클릭 하여 "사..
- Total
- Today
- Yesterday