마인드 맵 갤러리 운영체제 소개 마인드맵
운영체제(OS)란 컴퓨터 시스템 전체를 통제하고 관리하며, 컴퓨터의 작업과 자원 할당을 스케줄링하고, 컴퓨터에 편리한 인터페이스와 환경을 제공하는 하드웨어와 소프트웨어 자원의 합리적인 구성을 말한다. 사용자 및 기타 소프트웨어 모음. 컴퓨터 시스템의 가장 기본적인 시스템 소프트웨어이다.
2023-12-01 15:57:29에 편집됨운영 체제
소개
OS 개념(정의)
OS란 컴퓨터 시스템 전체를 제어하고 관리하는 하드웨어와 소프트웨어 자원을 말한다. 컴퓨터 작업과 자원 할당을 합리적으로 구성하고 일정을 잡습니다. 사용자 및 기타 소프트웨어에 편리한 인터페이스와 환경을 제공하는 프로그램 모음입니다. 컴퓨터 시스템의 가장 기본적인 시스템 소프트웨어이다.
운영 체제 특성
동시성(가장 중요하며 다른 기능의 전제 조건)
동일한 시간 간격 내에 두 개 이상의 사건이 발생합니다.
공유됨
시스템의 리소스는 메모리에서 동시에 실행되는 여러 프로세스에서 사용될 수 있습니다. 자원공유는 공유다
상호 배타적 공유 모드(카메라 장비 공유 사용)
동시 접속 모드(하드디스크 자원의 공유 사용)
가장 기본적인 특성, 이 둘은 서로의 존재 조건이다.
가상
물리적 개체를 여러 논리적 개체로 변환
시간 공유 리소스
비동기식
다중 프로그래밍 환경에서는 제한된 리소스로 인해 여러 프로그램이 동시에 실행될 수 있으며 프로세스 실행이 일관되지 않고 예측할 수 없는 속도로 진행됩니다.
운영 체제 목표
편의
유효성
확장성
개방 상태
목표와 기능 운영체제의 역할 제공되는 서비스
컴퓨터 시스템 자원의 관리자로서의 OS
프로세서 관리
메모리 관리
장치 관리
파일 관리
OS는 사용자와 컴퓨터 하드웨어 시스템 사이의 인터페이스 역할을 합니다. (상위 서비스 제공)
일반 사용자의 경우
GUI 그래픽 사용자 인터페이스(결국 프로그램 인터페이스로 귀결됨)
명령 인터페이스
온라인 제어 방식
시분할 또는 실시간 시스템에 적합한 온라인 명령 인터페이스(대화형 명령 인터페이스)
오프라인 제어 모드
오프라인 명령 인터페이스(일괄 명령 인터페이스)는 일괄 처리 시스템에 적합합니다.
소프트웨어/프로그래머 사용
프로그램 인터페이스(시스템 호출 == 일반화된 명령)
사용자는 프로그램 내의 시스템 호출 명령어를 이용하여 OS에게 서비스 제공을 요청한다. 사용자는 프로그램 내의 시스템 호출 명령을 직접 사용하여 시스템에 다양한 서비스 요청을 할 수 있습니다.
예를 들어, 외부 장치 사용, 디스크 파일 작업 수행, 메모리 할당 및 회수 및 다양한 제어 요구 사항에 적용
확장 머신으로 사용되는 OS 컴퓨터 리소스의 추상화 구현
확장 머신/가상 머신: 소프트웨어가 포함된 머신
개발 및 분류
수동 스테이지
결점
전체 기계의 사용자 독점 사용
CPU가 수동 작업을 기다리고 있으며 CPU가 완전히 활용되지 않습니다.
인간과 기계의 충돌, CPU와 I/O 속도의 충돌
일괄 처리 단계
단일채널 일괄처리 시스템(오프라인 입출력 기술 도입)
장점: 인간과 기계 속도 사이의 충돌 완화
단점: 리소스 활용도가 여전히 낮고, 고속 CPU가 저속 I/O를 대기합니다.
다중 채널 일괄 처리 시스템(다중 프로그래밍 기술 운영 체제가 나타나기 시작) 다중 프로그래밍(다중 채널, 매크로 병렬, 마이크로 직렬)
이점
높은 자원 활용도, 멀티 프로그래밍으로 컴퓨터 자원 공유
시스템 처리량이 높고 CPU 및 기타 리소스가 "사용 중" 상태로 유지됩니다.
결점
긴 사용자 응답 시간 및 드론 상호 작용 기능
시간 공유 OS
이점
인간-컴퓨터 상호작용 기능 제공
결점
긴급한 작업의 우선순위를 정할 수 없음
실시간 OS
소프트 실시간 시스템
영구적인 손상을 입히지 않고 간헐적인 시간 위반을 수용할 수 있는 능력
하드 실시간 시스템
작업은 지정된 순간(또는 지정된 시간 범위 내)에 반드시 발생해야 합니다.
장점: 긴급한 작업의 우선순위를 정하는 능력
마이크로컴퓨터 운영 체제
네트워크 OS
분산 OS
PC OS
운영 환경
작동 메커니즘
프로그램 작동 방식
고급 언어 프로그래밍 ——>기계 지침
프로그램 실행 프로세스는 CPU가 명령을 실행하는 프로세스입니다.
두 가지 절차
커널 프로그램
앱
두 가지 유형의 지침
특권 명령어(예: I/O 명령어, 인터럽트 명령어 등)
특권이 없는 지시
접근 관리 명령(프로그램 실행이 사용자 모드에서 코어 모드로 전환됨)
두 가지 프로세서 상태
커널 상태/코어 상태/튜브 상태
사용자 모드/눈 모드
변태하는 방법?
커널 모드->사용자 모드
PSW를 수정하는 특권 명령어
사용자 모드->커널 모드
인터럽트로 인해 하드웨어가 자동으로 완료됩니다.
예
시스템 호출
인터럽트가 발생했습니다.
사용자 프로그램에서 오류 상황이 발생했습니다.
사용자 프로그램에서 특권 명령어를 실행하려고 시도했습니다.
코어 상태에서 사용자 상태로의 전환은 명령어에 의해 구현됩니다. 이 명령어는 권한 있는 명령이기도 하며 일반적으로 인터럽트 반환 명령어입니다.
커널(컴퓨터에 구성된 기본 소프트웨어) 운영체제의 가장 중요하고 핵심적인 부분
시계 관리
타이밍 기능 구현
인터럽트 메커니즘
인터럽트 메커니즘 구현을 담당합니다.
원어
특별 프로그램이다
운영 체제의 맨 아래에 있으며 하드웨어와 가장 가까운 부분입니다.
이런 종류의 프로그램의 작동은 원자적입니다. 즉, 해당 작동은 한 번에 완료될 수 있으며 중단될 수 없습니다.
짧은 실행 시간과 빈번한 통화
시스템 제어의 데이터 구조 및 처리 시스템 자원을 관리하는 기능
공정 관리
메모리 관리
장치 관리
방해하다
인터럽트의 역할
운영 체제 커널이 강제로 CPU 제어권을 되찾도록 허용
CPU를 사용자 모드에서 커널 모드로 변경
인터럽트 분류
내부 인터럽트(예외/예외/트랩) 현재 실행 중인 명령어와 관련된 인터럽트 신호는 CPU 내부에서 온다.
함정에 빠지다
명령어 상승에 갇혀 애플리케이션이 의도적으로 상승
잘못
커널 프로그램에 의해 수정될 수 있는 오류 조건으로 인해 발생합니다. 커널 프로그램이 복구된 후에는 CPU 사용 권한이 애플리케이션에 반환되어 애플리케이션이 계속 실행될 수 있습니다. (페이지 폴트 인터럽트 등)
종료
치명적인 오류로 인해 커널 프로그램이 오류를 복구할 수 없으며 일반적으로 응용 프로그램을 직접 종료합니다. (예: 0으로 정수 나누기, 특권 명령어의 불법 사용)
외부 인터럽트(좁은 감지 인터럽트) 현재 실행 중인 명령에 관계없이 인터럽트 신호는 CPU 외부에서 온다
주변기기 요청(클럭 인터럽트)
사람의 개입(I/O 인터럽트 요청)
인터럽트 메커니즘의 기본 구현 원리
인터럽트 신호를 확인하세요
내부 인터럽트: CPU는 명령어를 실행할 때 예외가 발생하는지 확인합니다.
외부 인터럽트: 각 명령어 주기가 끝날 때마다 CPU는 처리해야 할 외부 인터럽트 신호가 있는지 확인합니다.
해당 인터럽트 루틴 찾기
"인터럽트 벡터 테이블"
시스템 호출(OS가 애플리케이션/프로그래머에게 제공하는 인터페이스) 프로그램 인터페이스/일반화된 지침
시스템 호출은 사용자가 프로그램에서 OS가 제공하는 일부 하위 기능을 호출하는 것이며 특별한 공개 서브루틴으로 간주될 수 있습니다. 시스템 자원 관리 및 프로세스 관리를 포함합니다. 특정 권한 있는 명령어를 사용해야 하므로 코어 모드에서 실행
시스템 호출과 라이브러리 함수의 차이점
일부 라이브러리 함수는 시스템 호출을 추가로 캡슐화합니다.
일부 라이브러리 함수는 시스템 호출을 사용하지 않습니다.
시스템 호출을 사용하여 어떤 기능을 구현해야 합니까?
장치 관리
파일 관리
프로세스 제어
프로세스 커뮤니케이션
메모리 관리
시스템 호출 프로세스
매개변수 전달
명령/트랩/액세스 관리에 갇혔습니다.
시스템 호출 요청은 운영 체제 커널 프로그램에 의해 처리됩니다.
신청서로 돌아가기
건축학
빅 코어
운영 체제의 주요 기능 모듈은 시스템 커널로 사용되며 코어 상태에서 실행됩니다.
장점: 고성능
단점: 커널 코드는 거대하고 혼란스러운 구조이며 유지 관리가 어렵습니다.
마이크로커널
커널에서 가장 기본적인 기능만 유지
장점: 핵심 기능 수가 적고 신뢰성이 높으며 구조가 명확하고 유지 관리가 용이합니다.
단점: 코어 모드와 사용자 모드 간 잦은 전환이 필요하고 성능이 낮음
인터럽트와 예외
인터럽트 처리와 서브루틴 호출의 차이점
입구 주소
방해하다
인터럽트 벡터에 따라 인터럽트 암시적 명령어에서 얻습니다.
서브루틴 호출
주소 지정 모드에 따라 호출 프로그램에 의해 획득됨
환경을 저장하다
방해하다
PC, PSW, 일반 레지스터 저장
서브루틴 호출
PC 저장, 범용 레지스터
프로세스 상태
방해하다
사용자 모드에서 커널 모드로
서브루틴 호출
상태 변경 없음
병렬성 대 동시성
OS 동시성은 시간 공유를 통해 달성됩니다.
동시성
동일한 시간 간격 내에 두 개 이상의 사건이 발생합니다.
병행
두 개 이상의 이벤트가 동시에 전송됩니다.
하드웨어 지원 필요
다중 프로그래밍 환경에서는 일정 기간 동안 거시적으로 여러 프로그램이 동시에 실행됩니다. 단일 프로세서 환경에서는 특정 순간에 실제로 하나의 프로그램만 실행됩니다. 미시적으로는 프로그램이 시분할 방식으로 교대로 실행됩니다.