운영 체제-노트-1장-운영 체제의 개념

목차

1. 1장 - 운영체제의 개념

1. 운영체제의 개념과 기능

(1) 수준

(2) 개요

2. 운영체제의 특징 (4)

(1) 동시성과 병렬성

(2) 공유와 상호 배제

(3) 가상

(4) 비동기식(Asyn)

3. 운영체제 개발 및 분류

(1) 실시간 운영체제

(2) 네트워크, 분산, 개인

4. 운영 체제의 운영 메커니즘

(1) 사용자 모드 및 커널 모드

(2) 개요

5. 방해 (※※※※※※)

(1) 외부 인터럽트 및 내부 인터럽트

(2) 인터럽트 프로그램 - 커널 프로그램(커널 모드)

(3) 개요

6. 시스템 콜

(1) 개요

7. 운영 체제의 커널(구조 시스템)

(1) 빅 커널 및 마이크로 커널

(2) 장점과 단점

(3) 개요

8. 운영 체제(컴퓨터를 켰을 때 수행하는 작업)

9. 가상 머신

(1) 물리적 머신에서(여러 운영 체제를 가질 수 있음) 

(2) 가상 머신 할당


1. 1장 - 운영체제의 개념

1. 운영체제의 개념과 기능

(1) 수준

(2) 개요

2. 운영체제의 특징 (4)

(1) 동시성과 병렬성

동시성 - 기간(서버 - 높은 동시성: 요청 인터페이스에 대한 많은 응답을 실현할 수 있음~)

병렬 - 시간(동시 - 다중 스레드 - 다중 코어 CPU)

(2) 공유와 상호 배제

공유 - 동시에 사용할 수 있음(자원)

상호 배제 - 한 사람만 사용할 수 있음(데이터 일관성)

서로 의지하기(공유 및 동시)

(3) 가상

(4) 비동기식(Asyn)

동시성에는 비동기성이 있습니다~

그건 멀티쓰레드여야 합니다 ~ (메인쓰레드를 차단하지 않고 비동기 작업을 이루기 위해 별도의 쓰레드를 오픈)

1.   동기화(Synchronous): 동기화는 작업을 순차적으로 실행하는 것을 말하며 각 작업은 실행을 시작하기 전에 이전 작업이 완료될 때까지 기다려야 합니다. 동기식 모드에서는 작업 간의 실행이 차단됩니다. 즉, 한 작업의 실행은 작업이 완료될 때까지 다른 작업의 진행을 차단합니다.

2.   비동기식(Asynchronous): 비동기식이란 작업이 동시에 또는 병렬로 실행될 수 있으며 작업이 서로 독립적이라는 것을 의미합니다. 비동기 모드에서 작업 실행은 논블로킹입니다. 즉, 작업 실행은 다른 작업의 완료를 기다리지 않고 콜백 함수 및 이벤트 모니터링과 같은 메커니즘을 통해 작업의 동시 실행 및 결과 반환을 구현합니다. .

비동기 프로그래밍은 일반적으로 시스템 성능 및 리소스 활용도를 향상시키기 위해 네트워크 요청, 파일 작업 및 데이터베이스 쿼리와 같은 시간 소모적인 작업과 관련된 상황을 처리하는 데 사용됩니다.

비동기 프로그래밍은 일반적으로 이벤트 기반, 콜백 함수 및 코루틴과 같은 기술로 구현됩니다.

  1. 동기식 프로그래밍은 직관적이고 이해하기 쉽지만 동시 작업을 많이 처리하거나 기다려야 하는 경우 프로그램 성능 저하 및 자원 낭비로 이어질 수 있습니다.
  2. 비동기식 프로그래밍은 시스템 리소스를 더 잘 활용하고 프로그램의 효율성과 응답성을 향상시킬 수 있습니다.
  3. 동기식 또는 비동기식 사용 선택은 특정 애플리케이션 시나리오 및 요구 사항에 따라 다릅니다.
  4. 프로그래밍에서 작업의 특성에 따라 적절한 모드를 선택하거나 동기식과 비동기식을 결합하여 다양한 작업과 상황을 유연하게 처리할 수 있습니다.

3. 운영체제 개발 및 분류

(1) 실시간 운영체제

(2) 네트워크, 분산, 개인

4. 운영 체제의 운영 메커니즘

(1) 사용자 모드 및 커널 모드

사용자 상태가 "재정의"를 원하면 하드웨어 CPU가 문제를 감지합니다! 자동변태, 프로그램 중단! 

(2) 개요

5. 방해 (※※※※※※)

(1) 외부 인터럽트 및 내부 인터럽트

내부 인터럽트 - 비정상(페이지 오류, 잘못된 명령, 트랩된 명령-시스템 호출)

외부 인터럽트 - 프로그램 처리(IO, 클럭)

(2) 인터럽트 프로그램 - 커널 프로그램(커널 모드)

하드웨어와 소프트웨어 모두 인터럽트를 구현할 수 있습니다 - 컴퓨터 구성의 원리를 가르칩니다.

【인터럽트 벡터 테이블】——질의 후—어떤 종류의 [인터럽트 핸들러]를 실행해야 하는지 알 수 있습니다.

(3) 개요

6. 시스템 콜

트랩된 명령 - 시스템 호출

해당 인터페이스는 운영 체제에서 제공하므로 응용 프로그램이 명령을 사용할 수 있습니다.

CPU가 [덫에 걸린 명령]을 만나면... (응용 프로그램이 운영 체제에 제어권을 반환함)

유닉스는 참으로 [C 언어]로 작성되었으며, 세계에서 C 언어로 작성된 최초의 운영 체제입니다.

[Windows 운영 체제]는 [C 및 어셈블리 언어]로 개발됩니다.

[Windows 운영 체제]는 이제 [Rust 언어]를 사용하여 리팩토링되고 있습니다.

Windows는 또한 C++, C# 및 Visual Basic과 같은 다른 프로그래밍 언어로 응용 프로그램 작성을 지원합니다.

(1) 개요

7. 운영 체제의 커널(구조 시스템)

Ubuntu 와 CentOS는 모두 Linux 커널입니다.

그들이 주로 개발하는 것은 - 비 커널 기능(GUI, 명령 등)입니다.

(1) 빅 커널 및 마이크로 커널

왜 큰 커널인가? ——커널 모드로 여러 기능이 나누어져 있기 때문에

Microkernel - 상태 전환 더보기

(2) 장점과 단점

크다: 빠르다(유지하기 어렵다)

마이크로: 느림(모듈식, 유지 관리 용이)

(3) 개요

8. 운영 체제(컴퓨터를 켰을 때 수행하는 작업)

먼저 BIOS를 통해 부팅하고 운영 체제를 설치하고 파티션을 분할하고 소프트웨어를 설치했습니다.

이제 부팅을 시작합니다:

  1. CPU가 디스크 정보 읽기(메인 부트 프로그램 실행 - 하드웨어 자체 테스트)
  2. [디스크 부트 프로그램 + 파티션 테이블] 실행
  3. 운영 체제의 초기화 프로그램 읽기
  4. 운영체제 초기화 프로그램 실행 - 초기화 완료

일반적인 설명은 정확하지만 일부 세부정보가 추가될 수 있습니다. 다음은 OS 부팅 프로세스에 대한 수정 및 추가 사항입니다.

  1. 전원이 켜지면 컴퓨터는 전원 자체 테스트를 수행하여 모든 하드웨어 장치가 정상인지 확인합니다 .
  2. BIOS(Basic Input/Output System) 프로그램을 실행하기 위해 마더보드의 BIOS 칩에 액세스합니다 . BIOS는 각 하드웨어 장치를 초기화하고 RAM , 디스플레이 어댑터 등을 확인하는 일련의 자체 테스트를 수행합니다.
  3. BIOS는 하드 드라이브의 부트 영역 ( 마스터 부트 레코드 , MBR ) 을 읽어 부트 프로그램을 로드합니다 . MBR은 부팅 프로그램의 위치 및 크기 정보를 저장하는 파티션 테이블의 첫 번째 섹터에 있습니다.
  4. 부트로더는 GRUB 또는 Windows Boot Manager 와 같은 운영 체제의 부트로더( bootloader )를 로드합니다 . 부트로더는 디스크의 특정 위치에 있으며 운영 체제 커널을 로드하고 제어권을 전달하는 역할을 합니다.
  5. 운영 체제 커널이 메모리에 로드되고 초기화 루틴 실행을 시작합니다. 초기화 프로그램은 시스템 환경 구성, 장치 드라이버 로드 및 다양한 하위 시스템 초기화를 담당합니다.
  6. 초기화 프로세스에는 일반적으로 일부 핵심 구성 요소 로드, 메모리 관리 및 프로세스 관리 구조 설정, 기타 필요한 시스템 리소스 준비가 포함됩니다.
  7. 초기화가 완료되면 운영 체제는 사용자와 상호 작용할 준비가 되고 다른 응용 프로그램은 운영 체제에서 실행할 수 있습니다.

다른 운영 체제와 컴퓨터 아키텍처는 다를 수 있지만 기본 프로세스는 일반적으로 유사합니다. 또한 하드 디스크 파티션 및 소프트웨어 설치에 대한 세부 사항은 일반적으로 운영 체제가 초기화된 후에 수행됩니다.

자체 테스트 - 부트로더 찾기 - 로드 - 실행

9. 가상 머신

(1) 물리적 머신에서(여러 운영 체제를 가질 수 있음) 

도커와 유사

(2) 가상 머신 할당

첫 번째 범주 - 물리적 리소스에서 직접 실행(높은 권한, 빠른 속도, 다중 설치)

첫 번째 범주 - 이중 시스템이 있습니다(Windows 1개, Ubuntu 1개).

두 번째 범주 - 운영 체제 기반으로 실행(느린 속도, 낮은 권한, 하나면 충분~)

두 번째 범주 - Windows에 Ubangtu VMM 가상 머신을 설치했습니다.

두 번째 범주인 손쉬운 마이그레이션은 패키징할 수 있으며 다른 사용자가 사용할 수 있습니다(도커와 유사).

  1. 듀얼 시스템: 하나의 컴퓨터에 Windows와 Ubuntu 등 서로 다른 두 가지 운영 체제를 설치할 수 있으며 부팅 시 어떤 운영 체제로 진입할지 선택할 수 있습니다.
  2. VMM 가상 머신: Windows 운영 체제에 VMware 또는 VirtualBox와 같은 가상 머신 소프트웨어를 설치하고 가상 머신에 Ubuntu 운영 체제를 설치할 수 있습니다. 가상 머신은 다른 운영 체제를 실행하기 위해 격리된 컴퓨팅 환경을 시뮬레이트합니다.

갈 길이 멀고, 배울수록 힘들고, 긍정적인 피드백이 부족해서 그런 걸까요? 아니, 계속 열심히 해야지 별빛이 지나가는 사람들에게 빛날거야! 3년 전을 기억하시나요? 그 당시 당신은 아직 초보자였고 아무것도 이해하지 못했지만 그것에 대한 열정이 있었습니다! 지난 3년 동안, 당신의 피가 아직 거기에 있습니까? 여러분! ! ! 오늘에 달려 있습니다! ! ! 계속해서 포기하지 말고 성공해야 합니다! 당신은 성공해야합니다! ——아무튼 어서! ! ! 이를 악물고 버티세요!


시간: 2023년 8월 14일 15:09:25

추천

출처blog.csdn.net/Pan_peter/article/details/132276090