목록2-1/운영체제 (34)
브래의 슬기로운 코딩 생활
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/UmzCN/btsd0navajQ/EebKqyPK2sjvCOaiDcMoO1/img.png)
메모리 관리 - 페이징과 세그먼테이션 로딩 및 할당 할당(Allocation) - 연속 메모리 할당 방법(Contiguous Allocation) - 비연속(분산) 메모리 할당 방법(Partition Allocation) 페이징 개념 개념 - 비연속 메모리 할당 기법을 사용 - 프로세스 하나가 여러 개로 나뉘어 메모리에 할당됨 • 페이지(page)의 크기는 모두 동일 프로그램 로딩 - 프로세스에 필요한 페이지를 결정하여 페이지 번호 부여 - 메모리의 빈 프레임을 조사하여 프로세스를 적재할 위치 파악 - 프로세스의 페이지를 빈 프레임에 적재 특징 - 빈 프레임에 어떤 페이지이든 적재 = 효율적인 메모리 사용 - 프로세스가 분산된 위치에 적재 = 운영체제 관리 부담 큼 - 프레임 간 내부 단편화(Intern..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bGetby/btsd0nO4pni/pbAHelNDXrg2PfBKx2HRBk/img.png)
메모리 관리 주소 바인딩 및 할당 메모리 주소 관리 메모리 공간 - 운영체제내 각 프로세스는 분리된 메모리 공간을 가짐 - PCB(Process Control Block)는 base 주소와 limit값을 포함 - 다른 프로세스 공간의 접근(침입)을 차단 = 보안성 제공 논리적 주소와 물리적 주소 논리적 주소(또는 가상 주소) • 다중 프로세스들의 공간을 쉽게 사용하기 위해 논리적 주소를 사용 • 프로세스들은 논리적 주소를 사용(접근) • CPU가 취급하는 주소 • 운영체제는 물리적 또는 논리적 주소를 접근하기 위해서 MMU(Memory Management Unit)를 제어 - 논리적 주소에 대한 물리적 주소의 변환은 MMU에 의해 처리 물리적 주소 • 프로그램이 메모리에 저장되어있는 실제적인 공간 • 메..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qZgPk/btsc0rYDsHB/J6LqydqkFFjlQx7tOC3rA0/img.png)
메모리 관리 메시지 큐 개념 - Message Queue - 운영체제가 큐를 관리 - 큐접근을 통한 서로 다른 프로세스들이 통신 송신 절차 1. 메시지 큐 생성 2. 생성된 큐에 메시지 송신 수신 절차 1. 메시지 큐 생성 2. 생성된 큐에 메시지 수신 기능 메시지 큐를 접근하거나 생성 인자 • Key : 시스템에서 식별하기 위한 메시지 큐 번호 • msgflg: 동작 옵션 – IPC_CREAT : » key에 해당하는 IPC가 없으면 생성 (단, 생성 시 접근 권한을 부여해야 함) » 동일 값이 이미 있으면, 무시됨 – IPC_EXCL : » 동일 KEY 이미 있으면 실패 의미로 -1을 반환 반환값: • 성공: 메시지 큐 식별자 • 실패: -1 메시지 송신 메시지 큐에 메시지를 전송함 전송할 메시지의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/edFq9N/btscZRXnoPh/c8BqWKo4JtdOvilTM2nq60/img.png)
메모리 관리 공유 메모리 개념 - Shared Memory - 동일한 메모리공간을 서로 다른 프로세스들이 공유 - 운영체제를 통해 공간이 공유됨 사용(프로그래밍) 절차 1. 공유 메모리 생성 2. 프로세스에 공유 영역을 첨부 3. 공유 영역 접근 4. 첨부된 공유 영역을 해제 5. 공유 메모리 삭제 공유 메모리 생성 공유 메모리 생성 인자 • key : 시스템에서 식별하기 위한 공유메모리 번호 • size: 공유메모리 크기 • shmflg: 동작 옵션 – IPC_CREAT : » key에 해당하는 공유메모리가 없으면 생성(단, 생성 시 접근 권한을 부여해야 함) » 동일 값이 이미 있으면, 무시됨 – IPC_EXCL : » 공유메모리가 이미 있으면 실패 의미로 -1을 반환 반환값: • 성공: 공유메모리 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cFzFhl/btscZaDbCEu/NbI5AmNTaBfWkHxaKVJnS0/img.png)
메모리 관리 - 기본 개요 메모리 관리 개요 메모리의 계층화 - CPU 연산결과가 기록되는 레지스터의 경우 빠른 입/출력이 가능 - 메모리의 읽고/쓰기의 속도는 가격에 비례 - 효율적 메모리 사용을 위해 속도와 용량의 관계를 두고 계층화 메모리의 제어 레지스터와 캐시는 CPU 제조사에 의해 접근 방식이나 데이터의 기록 방식이 하드웨어적으로 구현됨 주기억 장치와 보조 기억 장치의 데이터 구조 및 저장 방식은 소프트웨어적으로 구현됨 - 주 기억 장치 = 운영체제의 메모리 관리 - 보조 기억 장치의 저장 방식 = 파일 시스템, 가상메모리 프로세스를 위한 메모리 접근 프로세스 - 메모리에 적재되어 주기적으로 CPU를 점유하여 실행 상태에 진입이 가능한 것 - 소위, 메모리에 명령들(instructions set..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dRQlYF/btsbmdg9Bw2/5F7Kyb2j7Z3WkpAdLakwQ0/img.png)
운영체제 임베디드 운영체제 펌웨어 시스템 소프트웨어 부팅 1940년대 - 애니악 1950년대 - 천공카드 시스템, 일괄작업 시스템 1960년대 - 대화형 시스템, 시분할 시스템, 다중 프로그래밍 1970년대 - 분산 시스템 1990년대 - 클라이언트/서버 시스템 2000년 이후 - P2P시스템, 그리드 컴퓨팅, 클라우드 컴퓨팅, 사물 인터넷 커널 인터페이스 디바이스 드라이버 단일형 구조 커널 계층형 구조 커널 마이크로 구조 커널 가상머신 유닉스 리눅스 애플II 윈도우 안드로이드 중앙처리장치(CPU), 주 메모리 입력장치, 출력장치, 저장장치(디스크) 메인보드 (마더보드) 폰노이만 아키텍처 - 하나의 버스로 연결 하버드 아키텍처 - 분리, 복잡, 단가 상승 클록, 헤르츠 시스템 버스 - 전면 버스 CPU ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dXqSBs/btsafQ8qMdo/GmQltfZ4BhVsxKurtRr3w0/img.png)
운영체제(OS: Operating System) 데이터 처리 장치(컴퓨터, 노트북 또는 스마트폰 등)의 전원을 켜면 가장 먼저 만나게 되는 소프트웨어 임베디드(Embedded) 운영체제 - CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제 - 임베디드 운영체제가 있는 기계는 기능을 계속 향상할 수 있음 = 소프트웨어 업데이트 펌웨어(Firmware) - 프로그램이라는 관점에서는 소프트웨어와 동일하지만 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용소프트웨어와 구분되어 펌웨어는 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 할 수 있다. 운영체제의 정의 -사용자와 하드웨어 사이의 중간 매개체로 응용프로그램의 실행을 제어하고, 자원을 할당 및 관리하며, 입출력 제어 및 ..
여러분 안녕하세요. 8주차 때(4/20(B반), 4/21(A반))에는 중간고사가 진행될 예정입니다. - 시험 범위 : 1주차에서 7주차까지 다룬 사항 - 시험 형태: 서술형(100%) - 시험 시간: 100분(응시 중 중간 퇴실 가능 / 재입실 불가) - 지참물 : 필기도구 (텍스트북 및 전자기기 사용 불허) 감사합니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cBuMFt/btr9mNY9U3t/lFH73F1HHDqWmN6C6HpXT1/img.png)
교착 및 기아 상태 - 예방 및 해결 교착 해결 방법 종류 - 예방 기법(Prevention Method) - 회피 기법(Avoidance Method) - 탐지 및 복구(Detection and Recovery Method) 예방 기법 4개의 deadlock 발생 필요 조건 중 하나를 제거 - 자원 사용의 상호 배제(Mutual Exclusion) - 비선점형 자원(Non-preemptive) - 점유와 대기(Hold-and-Wait) - 원형 대기(Circular Wait) 위 사항 중 하나라도 없으면, 절대 Deadlock이 발생하지 않음!! - 단, 임계구역의 내용이 파손될 가능성이 큼 자원의 공유를 허용 - 상호 배제(Mutual Exclusion) 조건을 제거 - 현실적으로 불가능 - 원하는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/plpNB/btr9nn6GwBx/YWOkF8J8qtRrhFohVrVxGK/img.png)
교착 및 기아 상태 - 교착 상태 교착 상태 Dead Lock 2개 이상의 프로세스가 서로 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 병렬처리 기술과 자원 공유에 따라 발생된 부작용 중의 하나 - 여러 프로세스가 작업을 진행하다 보니 자연 발생적으로 일어나는 문제 아사(기아) 현상 : 특정 프로세스의 작업이 끊임없이 지연되는 문제 교각 공유 예 - 교각을 공유 자원(Resource)에 비유 - 교착상태가 발생하면 한쪽의 차가 후진을 해줘야 해결되는 상황 - 기아상태에 빠질 수 있음 - 대부분의 운영체제에서 교착상태를 완전히 예방해 주지는 못함 프로세스의 운영체제 자원의 이용 방식 운영체제는 프로세스에게 공유될 모든 자원들을 관리 - 프로세스의 자원 할당을 관리 - 각 ..