목차
(2) 인터럽트 프로그램 - 커널 프로그램(커널 모드)
(1) 물리적 머신에서(여러 운영 체제를 가질 수 있음)
1. 1장 - 운영체제의 개념
1. 운영체제의 개념과 기능
(1) 수준
(2) 개요
2. 운영체제의 특징 (4)
(1) 동시성과 병렬성
동시성 - 기간(서버 - 높은 동시성: 요청 인터페이스에 대한 많은 응답을 실현할 수 있음~)
병렬 - 시간(동시 - 다중 스레드 - 다중 코어 CPU)
(2) 공유와 상호 배제
공유 - 동시에 사용할 수 있음(자원)
상호 배제 - 한 사람만 사용할 수 있음(데이터 일관성)
서로 의지하기(공유 및 동시)
(3) 가상
(4) 비동기식(Asyn)
동시성에는 비동기성이 있습니다~
그건 멀티쓰레드여야 합니다 ~ (메인쓰레드를 차단하지 않고 비동기 작업을 이루기 위해 별도의 쓰레드를 오픈)
1. 동기화(Synchronous): 동기화는 작업을 순차적으로 실행하는 것을 말하며 각 작업은 실행을 시작하기 전에 이전 작업이 완료될 때까지 기다려야 합니다. 동기식 모드에서는 작업 간의 실행이 차단됩니다. 즉, 한 작업의 실행은 작업이 완료될 때까지 다른 작업의 진행을 차단합니다.
2. 비동기식(Asynchronous): 비동기식이란 작업이 동시에 또는 병렬로 실행될 수 있으며 작업이 서로 독립적이라는 것을 의미합니다. 비동기 모드에서 작업 실행은 논블로킹입니다. 즉, 작업 실행은 다른 작업의 완료를 기다리지 않고 콜백 함수 및 이벤트 모니터링과 같은 메커니즘을 통해 작업의 동시 실행 및 결과 반환을 구현합니다. .
비동기 프로그래밍은 일반적으로 시스템 성능 및 리소스 활용도를 향상시키기 위해 네트워크 요청, 파일 작업 및 데이터베이스 쿼리와 같은 시간 소모적인 작업과 관련된 상황을 처리하는 데 사용됩니다.
비동기 프로그래밍은 일반적으로 이벤트 기반, 콜백 함수 및 코루틴과 같은 기술로 구현됩니다.
- 동기식 프로그래밍은 직관적이고 이해하기 쉽지만 동시 작업을 많이 처리하거나 기다려야 하는 경우 프로그램 성능 저하 및 자원 낭비로 이어질 수 있습니다.
- 비동기식 프로그래밍은 시스템 리소스를 더 잘 활용하고 프로그램의 효율성과 응답성을 향상시킬 수 있습니다.
- 동기식 또는 비동기식 사용 선택은 특정 애플리케이션 시나리오 및 요구 사항에 따라 다릅니다.
- 프로그래밍에서 작업의 특성에 따라 적절한 모드를 선택하거나 동기식과 비동기식을 결합하여 다양한 작업과 상황을 유연하게 처리할 수 있습니다.
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를 통해 부팅하고 운영 체제를 설치하고 파티션을 분할하고 소프트웨어를 설치했습니다.
이제 부팅을 시작합니다:
- CPU가 디스크 정보 읽기(메인 부트 프로그램 실행 - 하드웨어 자체 테스트)
- [디스크 부트 프로그램 + 파티션 테이블] 실행
- 운영 체제의 초기화 프로그램 읽기
- 운영체제 초기화 프로그램 실행 - 초기화 완료
일반적인 설명은 정확하지만 일부 세부정보가 추가될 수 있습니다. 다음은 OS 부팅 프로세스에 대한 수정 및 추가 사항입니다.
- 전원이 켜지면 컴퓨터는 전원 자체 테스트를 수행하여 모든 하드웨어 장치가 정상인지 확인합니다 .
- BIOS(Basic Input/Output System) 프로그램을 실행하기 위해 마더보드의 BIOS 칩에 액세스합니다 . BIOS는 각 하드웨어 장치를 초기화하고 RAM , 디스플레이 어댑터 등을 확인하는 일련의 자체 테스트를 수행합니다.
- BIOS는 하드 드라이브의 부트 영역 ( 마스터 부트 레코드 , MBR ) 을 읽어 부트 프로그램을 로드합니다 . MBR은 부팅 프로그램의 위치 및 크기 정보를 저장하는 파티션 테이블의 첫 번째 섹터에 있습니다.
- 부트로더는 GRUB 또는 Windows Boot Manager 와 같은 운영 체제의 부트로더( bootloader )를 로드합니다 . 부트로더는 디스크의 특정 위치에 있으며 운영 체제 커널을 로드하고 제어권을 전달하는 역할을 합니다.
- 운영 체제 커널이 메모리에 로드되고 초기화 루틴 실행을 시작합니다. 초기화 프로그램은 시스템 환경 구성, 장치 드라이버 로드 및 다양한 하위 시스템 초기화를 담당합니다.
- 초기화 프로세스에는 일반적으로 일부 핵심 구성 요소 로드, 메모리 관리 및 프로세스 관리 구조 설정, 기타 필요한 시스템 리소스 준비가 포함됩니다.
- 초기화가 완료되면 운영 체제는 사용자와 상호 작용할 준비가 되고 다른 응용 프로그램은 운영 체제에서 실행할 수 있습니다.
다른 운영 체제와 컴퓨터 아키텍처는 다를 수 있지만 기본 프로세스는 일반적으로 유사합니다. 또한 하드 디스크 파티션 및 소프트웨어 설치에 대한 세부 사항은 일반적으로 운영 체제가 초기화된 후에 수행됩니다.
자체 테스트 - 부트로더 찾기 - 로드 - 실행
9. 가상 머신
(1) 물리적 머신에서(여러 운영 체제를 가질 수 있음)
도커와 유사
(2) 가상 머신 할당
첫 번째 범주 - 물리적 리소스에서 직접 실행(높은 권한, 빠른 속도, 다중 설치)
첫 번째 범주 - 이중 시스템이 있습니다(Windows 1개, Ubuntu 1개).
두 번째 범주 - 운영 체제 기반으로 실행(느린 속도, 낮은 권한, 하나면 충분~)
두 번째 범주 - Windows에 Ubangtu VMM 가상 머신을 설치했습니다.
두 번째 범주인 손쉬운 마이그레이션은 패키징할 수 있으며 다른 사용자가 사용할 수 있습니다(도커와 유사).
- 듀얼 시스템: 하나의 컴퓨터에 Windows와 Ubuntu 등 서로 다른 두 가지 운영 체제를 설치할 수 있으며 부팅 시 어떤 운영 체제로 진입할지 선택할 수 있습니다.
- VMM 가상 머신: Windows 운영 체제에 VMware 또는 VirtualBox와 같은 가상 머신 소프트웨어를 설치하고 가상 머신에 Ubuntu 운영 체제를 설치할 수 있습니다. 가상 머신은 다른 운영 체제를 실행하기 위해 격리된 컴퓨팅 환경을 시뮬레이트합니다.
갈 길이 멀고, 배울수록 힘들고, 긍정적인 피드백이 부족해서 그런 걸까요? 아니, 계속 열심히 해야지 별빛이 지나가는 사람들에게 빛날거야! 3년 전을 기억하시나요? 그 당시 당신은 아직 초보자였고 아무것도 이해하지 못했지만 그것에 대한 열정이 있었습니다! 지난 3년 동안, 당신의 피가 아직 거기에 있습니까? 여러분! ! ! 오늘에 달려 있습니다! ! ! 계속해서 포기하지 말고 성공해야 합니다! 당신은 성공해야합니다! ——아무튼 어서! ! ! 이를 악물고 버티세요!
시간: 2023년 8월 14일 15:09:25