목차
운영체제 리뷰
1장 운영체제 소개
2장 프로세서 관리
3장 동기화, 통신 및 교착 상태
세마포 및 PV 작업: p134
Deadlock
4장 스토리지 관리
5장 장치 관리
참고문헌:

운영 체제 기술 요약

Jul 20, 2017 pm 05:48 PM
검토 운영 체제 메모

운영체제 리뷰

1장 운영체제 소개

정의: 시스템 자원 관리, 프로그램 실행 제어, 휴먼-컴퓨터 인터페이스 개선, 다양한 서비스 제공, 컴퓨터 작업 흐름을 합리적으로 구성하여 사용자에게 편리하고 효과적인 컴퓨터 사용을 제공하는 시스템 소프트웨어 환경을 운영하는 것입니다.
기능: 프로세서 관리, 스토리지 관리, 장치 관리, 파일 관리, 네트워킹 및 통신 관리
특징: 동시성, 공유(1. 투명한 리소스 공유 2. 독점적인 리소스 공유), 비동기
범주: 배치 운영 체제, 시분할 운영 시스템, 실시간 운영체제

2장 프로세서 관리

프로세스 정의: 프로세스는 특정 데이터 수집에 대해 독립적인 기능을 가진 프로그램의 실행 활동이며 운영체제에 의한 자원 할당 및 보호의 기반이기도 합니다. . 단위.
프로세스 상태 및 전환: p73
3상태 모델: 실행 상태, 준비 상태, 대기 상태
5상태 모델: 새로운 상태, 종료된 상태 제안하는 이유는 무엇인가요?
특정 변형이 존재하지 않음을 설명하기 위해 그림을 그릴 수 있어야 합니다.

멀티스레딩 도입 동기: 프로그램이 동시에 실행될 때 발생하는 시간과 공간 오버헤드를 줄이고 동시성 세분성을 더 세밀하게 만들고 동시성을 향상시킵니다.
스레드의 장점: 빠른 스레드 전환, 쉬운 통신, 관리 오버헤드 감소 및 동시성 향상

PCB(Process Control Block) 프로세스 제어 블록: 프로세스 존재에 대한 고유 식별자로, 운영 체제에서 기록을 위해 사용됩니다. 정보의 데이터 구조는 프로세스의 동적 특성을 모아 놓은 것이며 운영체제가 프로세스를 제어하는 ​​유일한 데이터 구조이자 프로세스를 관리하는 주요 기반이기도 합니다. p75

TCB의 개념은 무엇인가요?
동적/정적 우선순위?

프로세서 스케줄링: p101 예

  1. 선착순 알고리즘

  2. 가장 짧은 작업 우선 알고리즘(개념)

  3. 가장 짧은 남은 시간 우선 알고리즘

  4. 가장 높은 응답률 우선 알고리즘(개념)

3장 동기화, 통신 및 교착 상태

Bainstein 조건? Bernstein(단답형)

Deadlock: 프로세스 그룹이 리소스 경쟁으로 인해 영원히 기다리는 상태에 갇혀 있습니다.
Hungry: 실행 가능한 프로세스는 스케줄러에 의해 무기한 지연되고 다른 프로세스가 항상 우선하기 때문에 실행할 수 없습니다.

프로세스 동기화: 공통 작업을 완료하기 위한 동시 프로세스는 특정 조건에 따라 활동을 조정하며, 특정 위치에서 실행 순서를 정렬해야 하기 때문에 신호나 메시지를 기다리고 전달할 때 협업 제약이 발생합니다.

Critical 섹션: 동시 프로세스의 공유 변수와 관련된 프로그램 세그먼트입니다.
핵심 리소스: 공유 변수로 표현되는 리소스, 즉 한 번에 하나의 프로세스에서만 사용할 수 있는 리소스입니다.
중요 섹션 예약의 세 가지 원칙(상호 배타적 사용, 비어 있을 때 허용, 바쁜 경우 대기, 제한된 대기, 입력할 항목을 선택하면 알고리즘이 가능함):

  1. 최대 하나의 프로세스만 임계 섹션에 들어갈 수 있습니다. 한 번에 실행하려면 .

  2. Critical 섹션에 이미 프로세스가 있는 경우 이 Critical 섹션에 진입하려는 다른 프로세스는 기다려야 합니다.

  3. 중요 섹션에 진입한 프로세스는 대기 대기열에 있는 프로세스가 진입할 수 있도록 제한된 시간 내에 종료되어야 합니다.

중요 섹션 관리를 위한 소프트웨어 알고리즘:
분석

  1. 문제가 있을까요?

  2. 언제 출시되나요?

중요 섹션 관리를 위한 하드웨어 기능:

  1. 인터럽트 끄기

  2. 테스트 및 지침 설정

  3. 스왑 지침

세마포 및 PV 작업: p134

pv 운영 정의( 1위안 , 일반적인)?
종합 질문:

  1. 5 철학자의 식사 문제(교착 상태 해결 없음) p139

  2. 생산자-소비자 문제(다대다, 많은 버퍼) p140

  3. 리더-라이터 문제 p141

  4. 이발사 문제 p142

  5. 물을 길러오는 몽크

Deadlock

정의: 이 세트 사건에서 프로세스 집합의 모든 프로세스가 다른 프로세스에 의해서만 발생할 수 있는 프로세스를 기다리고 무기한 교착 상태에 빠진 경우 .
생성 조건:

  1. 상호 배타적 조건

  2. 소유 및 대기 조건

  3. 박탈 조건 없음

  4. 루프 대기 조건

교착 상태 방지: 포괄적인 질문에 대한 15점
뱅커의 알고리즘 데이터 구조 p163
알고리즘 설명:

  1. T0 순간의 보안 시퀀스

  2. 프로세스 P1이 리소스를 요청합니다(만족할 수 있습니까? 왜?)

4장 스토리지 관리

프로그램 링크 유형: ( 빈칸 채우기)

  1. 정적 링크

  2. 동적 링크

  3. 런타임 링크

정적 주소 재배치: 로더는 로딩 코드의 로딩 및 주소 변환을 구현하고, 이를 프로세스에 할당된 지정된 메모리 영역에 로드하고, 그 안에 있는 모든 논리 주소를 물리적 메모리 주소로 변경합니다.
동적 주소 재배치: 로더는 코드 모듈을 로드하여 프로세스에 할당된 메모리의 지정된 영역에 로드하지만 링커가 처리하는 애플리케이션의 논리 주소는 변경하지 않습니다. 시작 주소는 하드웨어 특수 레지스터인 재배치 레지스터에 배치됩니다. 프로그램 실행 중에 CPU가 메모리 주소를 참조할 때마다(프로그램 및 데이터 액세스) 하드웨어는 이 논리 주소를 가로채서 주소 변환을 달성하기 위해 메모리로 전송되기 전에 재배치 레지스터의 값을 추가합니다.

페이징 저장소 관리 p206
개념:

  1. Page

  2. 페이지 프레임

  3. 논리 주소

  4. 메모리 페이지 프레임 테이블

  5. 페이지 테이블

페이징/분할된 동적 링크 What 라이브러리의 구현 원리는 무엇입니까? (설명+그림)

종합질문:

  1. 논리주소가 주어지면 물리주소를 찾아보세요? (그리기)

  2. 논리 주소와 페이지 크기가 주어지면 물리 주소를 계산해볼까요?

분할과 페이징의 비교(단답):
분할은 정보의 논리적 단위로, 소스 프로그램의 논리적 구조와 의미, 그리고 세그먼트 길이에 따라 결정됩니다. 사용자의 필요에 따라 세그먼트 시작 주소가 임의의 메모리 주소에서 시작될 수 있습니다. 세그먼트화 방식에서는 소스 프로그램(짧은 숫자, 세그먼트 내 대체)이 연결 및 조립된 후에도 여전히 2차원(주소) 구조를 유지합니다. 도입 목적은 모듈형 프로그래밍에 대한 사용자 요구를 충족시키는 것입니다.
페이징은 소스 프로그램의 논리적 구조와 아무 관련이 없으며 사용자에게 표시되지 않습니다. 페이지 길이는 시스템(하드웨어)에 의해 결정됩니다. 페이지 크기의 페이징 모드에서 소스 프로그램(페이지 번호, 페이지 내 변위)은 링크 조립 후 1차원(주소) 구조가 됩니다. 도입 목적은 개별 할당을 달성하고 메모리 활용도를 향상시키는 것입니다.

페이지 실패율 p223
개념: 실패한 방문수?
그림을 그려서 누락된 페이지 중단률을 알아보세요? p229

5장 장치 관리

I/O 제어 방법: (빈칸 채우기)

  1. Polling method

  2. Interrupt method

  3. DMA method

  4. Channel method

버퍼 기술 :
싱글 버퍼링 p265
더블 버퍼링 p266

검색 및 찾기: (예제 질문, 단답형) p270

  • 선착순 알고리즘

  • 최단 검색 시간 우선 알고리즘

  • 스캐닝 알고리즘

  • 엘리베이터 스케줄링 알고리즘

  • 사이클 스캔 알고리즘

참고문헌:

-"운영 체제 튜토리얼(5판)" Fei Xianglin, Luo Bin Higher Education Press

위 내용은 운영 체제 기술 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

사랑 코드 복사 및 붙여 넣기 복사하여 사랑 코드를 무료로 붙여 넣으십시오. 사랑 코드 복사 및 붙여 넣기 복사하여 사랑 코드를 무료로 붙여 넣으십시오. Apr 04, 2025 am 06:48 AM

코드 복사 및 붙여 넣기는 불가능하지는 않지만주의해서 처리해야합니다. 코드의 환경, 라이브러리, 버전 등과 같은 종속성은 현재 프로젝트와 일치하지 않으므로 오류 또는 예측할 수없는 결과를 초래할 수 있습니다. 파일 경로, 종속 라이브러리 및 Python 버전을 포함하여 컨텍스트가 일관되게 유지하십시오. 또한 특정 라이브러리의 코드를 복사 및 붙여 넣을 때 라이브러리 및 해당 종속성을 설치해야 할 수도 있습니다. 일반적인 오류에는 경로 오류, 버전 충돌 및 일관되지 않은 코드 스타일이 포함됩니다. 성능 최적화는 코드의 원래 목적 및 제약에 따라 재 설계 또는 리팩토링되어야합니다. 복사 코드를 이해하고 디버그하고 맹목적으로 복사하여 붙여 넣지 않는 것이 중요합니다.

Rust를 모르는 경우 Tauri를 사용하여 데스크탑 응용 프로그램을 개발할 수 있습니까? Rust를 모르는 경우 Tauri를 사용하여 데스크탑 응용 프로그램을 개발할 수 있습니까? Apr 04, 2025 pm 11:42 PM

Tauri Framework Tauri 하에서 Desktop 프로그램 개발에 Rust Language Accipicies의 영향은 Lightweight와 ... Rust를 사용하여 구축 된 데스크탑 응용 프로그램 개발 프레임 워크입니다.

H5와 미니 프로그램과 앱의 차이점 H5와 미니 프로그램과 앱의 차이점 Apr 06, 2025 am 10:42 AM

H5. 미니 프로그램과 앱의 주요 차이점은 다음과 같습니다. 기술 아키텍처 : H5는 웹 기술을 기반으로하며 미니 프로그램 및 앱은 독립적 인 응용 프로그램입니다. 경험과 기능 : H5는 가볍고 사용하기 쉽고 기능이 제한되어 있습니다. 미니 프로그램은 가벼우 며 상호성이 우수합니다. 앱은 강력하고 부드러운 경험이 있습니다. 호환성 : H5는 크로스 플랫폼 호환성이며 애플릿 및 앱은 플랫폼에 의해 제한됩니다. 개발 비용 : H5는 개발 비용이 낮고 중간 미니 프로그램 및 최고 앱이 있습니다. 적용 가능한 시나리오 : H5는 정보 표시에 적합하고 애플릿은 가벼운 응용 프로그램에 적합하며 앱은 복잡한 기능에 적합합니다.

JavaScript 또는 CSS를 통해 브라우저 인쇄 설정에서 페이지 상단 및 끝을 제어하는 ​​방법은 무엇입니까? JavaScript 또는 CSS를 통해 브라우저 인쇄 설정에서 페이지 상단 및 끝을 제어하는 ​​방법은 무엇입니까? Apr 05, 2025 pm 10:39 PM

브라우저의 인쇄 설정에서 페이지의 상단과 끝을 제어하기 위해 JavaScript 또는 CSS를 사용하는 방법. 브라우저의 인쇄 설정에는 디스플레이가 ...인지 제어 할 수있는 옵션이 있습니다.

MySQL에 루트로 로그인 할 수 없습니다 MySQL에 루트로 로그인 할 수 없습니다 Apr 08, 2025 pm 04:54 PM

Root로 MySQL에 로그인 할 수없는 주된 이유는 권한 문제, 구성 파일 오류, 암호 일관성이 없음, 소켓 파일 문제 또는 방화벽 차단입니다. 솔루션에는 다음이 포함됩니다. 구성 파일의 BAND-ADDRESS 매개 변수가 올바르게 구성되어 있는지 확인하십시오. 루트 사용자 권한이 수정 또는 삭제되어 재설정되었는지 확인하십시오. 케이스 및 특수 문자를 포함하여 비밀번호가 정확한지 확인하십시오. 소켓 파일 권한 설정 및 경로를 확인하십시오. 방화벽이 MySQL 서버에 연결되는지 확인하십시오.

C 언어 조건부 편집 : 초보자가 실제 응용 프로그램에 대한 자세한 안내서 C 언어 조건부 편집 : 초보자가 실제 응용 프로그램에 대한 자세한 안내서 Apr 04, 2025 am 10:48 AM

C 언어 조건부 컴파일은 컴파일 시간 조건을 기반으로 코드 블록을 선택적으로 컴파일하는 메커니즘입니다. 입문 방법에는 다음이 포함됩니다. #IF 및 #ELSE 지시문을 사용하여 조건에 따라 코드 블록을 선택합니다. 일반적으로 사용되는 조건부 표현에는 STDC, _WIN32 및 LINUX가 포함됩니다. 실제 사례 : 운영 체제에 따라 다른 메시지를 인쇄합니다. 시스템의 숫자 수에 따라 다른 데이터 유형을 사용하십시오. 컴파일러에 따라 다른 헤더 파일이 지원됩니다. 조건부 컴파일은 코드의 휴대 성과 유연성을 향상시켜 컴파일러, 운영 체제 및 CPU 아키텍처 변경에 적응할 수 있도록합니다.

웹 페이지에서 로컬로 설치된 글꼴 파일을 사용하는 방법은 무엇입니까? 웹 페이지에서 로컬로 설치된 글꼴 파일을 사용하는 방법은 무엇입니까? Apr 05, 2025 pm 10:57 PM

웹 페이지에서 로컬로 설치된 글꼴 파일을 사용하는 방법 웹 페이지 개발 에서이 상황이 발생 했습니까? 컴퓨터에 글꼴을 설치했습니다 ...

Windows 7에 MySQL을 설치할 수 있습니까? Windows 7에 MySQL을 설치할 수 있습니까? Apr 08, 2025 pm 03:21 PM

예, MySQL은 Windows 7에 설치 될 수 있으며 Microsoft는 Windows 7 지원을 중단했지만 MySQL은 여전히 ​​호환됩니다. 그러나 설치 프로세스 중에 다음 지점이 표시되어야합니다. Windows 용 MySQL 설치 프로그램을 다운로드하십시오. MySQL의 적절한 버전 (커뮤니티 또는 기업)을 선택하십시오. 설치 프로세스 중에 적절한 설치 디렉토리 및 문자를 선택하십시오. 루트 사용자 비밀번호를 설정하고 올바르게 유지하십시오. 테스트를 위해 데이터베이스에 연결하십시오. Windows 7의 호환성 및 보안 문제에 주목하고 지원되는 운영 체제로 업그레이드하는 것이 좋습니다.

See all articles