| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 알고리즘
- 이득우의 게임수학
- JavaScript
- The Elements of Computing Systems 2/E
- 데이터 통신과 컴퓨터 네트워크
- 메타버스
- unity6
- C
- HANBIT Academy
- 입출력과 사칙연산
- 김진홍 옮김
- 박기현
- 생능출판
- Shimon Schocken
- booksr.co.kr
- 일기
- BOJ
- 게임 수학
- Noam Nisan
- 백준
- 잡생각 정리글
- C#
- 주우석
- (주)책만
- https://insightbook.co.kr/
- 전공자를 위한 C언어 프로그래밍
- 밑바닥부터 만드는 컴퓨팅 시스템 2판
- 이득우
- hanbit.co.kr
- C++
- Today
- Total
cyphen156
Chapter1 운영체제 개론1 본문
1. 운영체제
컴퓨터 하드웨어를 관리하는 소프트웨어
응요프로그램을 위한 기반을 제공하며 사용자와 컴퓨터 환경 사이의 중재자 역할을 한다.
2. 컴퓨터 시스템 구성
컴퓨터 시스템은 하드웨어, 운영체제, 응용프로그램, 사용자의 4가지로 구성된다.
자세한 내용은 컴퓨터구조 카테고리에서 기술하겠습니다.
'컴퓨터공학/컴퓨터구조' 카테고리의 글 목록 (tistory.com)
2-1. 하드웨어
컴퓨터 시스템에서 하드웨어들은 버스라는 데이터 전송 통로를 이용하여 데이터를 주고 받으며 운영체제와 컨트롤러의 도움을 받아 사용자의 명령을 처리한다.
컨트롤러
컴퓨터 시스템에서 하드웨어를 제어하는 핵심장치
인터럽트
하드웨어 컨트롤러가 1장치 드라이버에게 작업을 완료했다는 사실을 알리는 것/운영체제와 하드웨어의 핵심적인 상호 작용 방식
하드웨어는 언제든지 CPU에게 신호를 보내 인터럽트를 발생시킬 수 있다.
CPU는 인터럽트가 발생하면 하던 일을 중단하고 즉시 고정된 위치로 실행을 옮겨 인터럽트를 발생시킨 작업을 실행한다.
인터럽트가 처리된 후 CPU는 원래 하던 작업을 이어서 완료한다.
저장장치
주기억장치(RAM/ROM)
CPU가 명령을 처리하기 위해 사용되는 기억장치 휘발성 메모리인 RAM과 비휘발성 메모리인 ROM이 있다
- RAM(Random Access Memory) : 컴퓨터를 종료하면 모든 데이터가 사라진다.
- ROM(Read Only Memory) : 하드웨어를 제어하기 위해 최소한의 전력이 항상 흐르도록 설계되어 컴퓨터가 종료되어도 데이터가 사라지지 않고 보존되지만
한번 데이터를 저장하면 데이터를 수정할 수 없다.
보조기억장치(HDD, SSD, 플래쉬 메모리 등)
컴퓨터가 종료되어도 데이터를 보존할 수 있도록 만든 프로그램과 데이터이 저장되는 기억장치
ROM과는 다르게 데이터를 수정할 수 있다.
중앙처리장치(Central Processing Unit)
사용자의 명령을 처리하는 컴퓨터 시스템의 핵심 부품
- 단일 처리 시스템 : 하나의 CPU를 사용하여 작업을 처리하는 방식
- 다중 처리 시스템 : 2개 이상의 CPU를 사용하여 작업을 처리하는 방식, 병목 가능성이 있어 설계할 때 주의가 필요하다.
- 클러스터 시스템 : 여러개의 컴퓨터 시스템을 연결하여 하나의 거대한 시스템을 형성하는 방법
각 컴퓨터 시스템들은 자원을 공유하며 어떤 한 시스템이 고장나더라도 다른 시스템으로 명령을
처리할 수 있기 때문에 가용성이 높다.
- 대칭형 : 둘 이상의 호스트들이 응용프로그램을 실행하며 서로가 고장나는지 감시한다.
- 비대칭형 : 하나의 호스트가 명령을 실행하는 동안 다른 하나의 호스트는 긴급 대기 모드에 진입하여 활성된
서버가 고장나는지를 감시하는 역할만을 수행한다.
2-2. 운영체제
운영체제의 작동
운영체제는 컴퓨터의 전원이 켜지면 ROM에 저장되어 있는 펌웨어의 부트스트랩 프로그램이 보조저장장치에 저장되어 있는 운영체제 관련 데이터(운영체제 커널)들을 메인메모리(RAM)로 가져온 후 실행시킨다.
프로세스(Process)
→ 메인 메모리에 적재되어 CPU가 실행하고 있는 프로그램
- 다중 프로그래밍(Multiprogramming) : 한번에 둘 이상의 프로그램을 실행하는 것
- 다중 처리(Multitasking) : 다중 프로그램의 논리적인 확장, 단순히 프로그램을 여러개를 실행하는 것이 아닌
아주 빠른 속도로 번갈아 명령을 처리하여 여러 프로그램이 동시에 실행되는 것처럼
느껴지게 하는 방법
다중모드
운영체제와 사용자가 컴퓨터 시스템의 자원을 공유하기 때문에 시스템이 올바르게 실행되도록 운영체제 코드 실행과 사용자 코드 실행을 구분하는 방법
모드 비트(0, 1)을 통해 구분하며 적어도 두 개의 독립된 연산 모드(User/Cunnel Mode)가 필요하다.
- 커널 모드 : 컴퓨터 시스템의 모든 것에 접근하여 명령할 수 있는 모드, 필요에 따라 사용자 모드에서 시스템 콜을 통해 진입할 수 있다.
- 사용자 모드 : 컴퓨터 시스템의 핵심을 보호하기 위하여 일부 자원에 침범하지 못하도록 제한이 있는 사용자가 사용하는 모드
자원관리
운영체제는 여러가지 자원이 효율적으로 이용될 수 있도록 관리하는 자원 관리자다.
- 프로세스 관리
- 메모리 관리
- 파일 시스템 관리
- 대용량 저장장치 관리
- 캐시 관리
- 입출력 시스템 관리
보안과 보호
운영체제 대부분은 사용자 식별자 또는 보안 식별자를 통해 시스템을 사용하는 모든 사용자들을 구분한다.
- 보호 : 컴퓨터 시스템이 다수의 사용자를 갖으며 다수의 프로세스를 병행 수행 할 경우 시스템을 보호하기 위해 데이터에 대한 접근을 규제하는것
- 보안 : 컴퓨터 시스템의 무결성을 유지하기 위해 외부 또는 내부의 공격을 방어하여 보호하는 것
가상화
어떤 한 컴퓨터 시스템을 여러 가지 실행 환경으로 추상화하여 현재 실제 사용하는 운영체제와는 다른 운영체제를 사용할 수 있도록 만드는 기술
가상화를 이용하면 다른 운영체제를 위한 전용 컴퓨터 시스템을 구성하기 위한 지출을 줄일수 있고, 바이러스 실험, 모의해킹-방어와 같은 실험을 위한 가상 환경을 세팅하여 메인 시스템에 가해지는 피해를 최소화할 수 있어 매우 유용하다.
예를 들어 윈도우11을 메인 운영체제로 사용중인 PC에서 또한 Docker나 Virture Box와 같은 가상화 소프트웨어를 통해 Linux와 같은 운영체제를 실행할 수 있다.
- 장치 컨트롤러의 작동을 잘 알고 있으며 운영체제에게 연결된 장치에 대한 일관된 인터페이스를 제공해주는 소프트웨어 [본문으로]
'컴퓨터공학 > 운영체제' 카테고리의 다른 글
| 하드웨어 입출력 - 인터럽트 (3) | 2025.08.06 |
|---|---|
| Chapter2 연습문제 (0) | 2022.09.19 |
| Chapter2 운영체제 개론2 - 구조 (0) | 2022.09.19 |
| Chapter1 연습문제 (0) | 2022.09.19 |