일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 우아한레디스
- C++
- HTTP
- Operating System.
- 열혈 tcp/ip 프로그래밍
- 제프리리처
- redis
- Operating System
- 윤성우 저자
- inflearn
- 김영한
- 우아한 테크 세미나
- FIFO paging
- OS
- Spring
- 열혈 TCP/IP 소켓 프로그래밍
- 운영체제
- 10026번
- n타일링2
- C#
- 스프링 핵심 원리
- 에러핸들링
- 이펙티브코틀린
- 2475번
- Four Squares
- TCP/IP
- Window-Via-c/c++
- BOJ
- 스프링 입문
- 토마토
- Today
- Total
나의 브을로오그으
#1. 운영체제 개요 본문
운영체제(Oeprating System)란?
- 현재 상용화 운영체제들
* Window OS, Linux OS, Mac OS, Android OS, ios OS 등
- OS가 설치되어 있지 않은 컴퓨터를 키면?
* 고삐없는 야생마와 같다. 컴퓨터를 키면 아무일도 일어나지 않는다.
- 하드디스크에 저장, 프린터 출력, 멀티 프로세싱 등등 이것들을 다 누가해주지?
* 운영체제가 해준다.
운영체제를 만드려는 이유?
- 성능(Performance)을 높이고, 사용자에게 편의성(Convenience)을 제공하고, 주변장치들을 관리한다.
부팅(Booting)
- 컴퓨터 구조
* 프로세서, 메모리 (ROM, RAM), 디스크
* POST (Power-On Self-Test)
: 전기가 들어오면은 컴퓨터가 스스로 환경설정을 체크한다.
환경설정은 잘 되어있는지, 메인 메모리는? 키보드는? 꽂혀있는가? 등등..
* 부트로더 (Boot loader)
(컴퓨터의 구조는 크게 2가지로 되어있다. Processor와 Memory
Memory는 RAM(휘발성 메모리)과 ROM(비휘발성 메모리)으로 구성되는데
OS도 프로그램이기 때문에 컴퓨터 부팅 시에 누군가가 HardDisk에 저장되어 있는 OS를
메모리에 올려주어야 한다. Processor가 Memory에 올라와 있는 OS를 실행하게 되고 정상적으로
OS가 자기 할일을 하게 될것이다.
따라서 OS를 Memory에 올려주는 그 누군가는 바로 Memory의 ROM에 저장되어 있는 Bootloader가 그역할을 다한다.
정리하면 Processor는 Booting시에 ROM을 읽어들여서 POST(환경설정 체크)를 실행한 뒤 Bootloader를 실행하고, Bootloader는 HardDisk에 저장되어 있는 OS를 메모리에 올려서 OS가 동작하도록 한다.)
OS는 언제 지워질까?? OS는 전원이 꺼지기 전까지 계속 메모리(RAM)에 상주한다.
OS는 웹브라우저, 아래한글, 게임, 기타 프로그램들을 사용자가 GUI혹은 CUI를 통해 실행하면
하드디스크에 저장되어 있는 프로그램을 OS가 메모리에 올린다. 그리고 종료하면 해당 메모리에 올라와있던 프로그램을 다 날린다.
그래서 OS를 Resident라고 부른다. (상주), 즉, 항상 OS는 메인 메모리에 상주한다.
- 운영체제
* 관리(Management) 프로그램
* 프로세서, 메모리, 디스크, 입출력장치 드라이브
* 커널 (Kernel) vs 명령 해석기 (Shell, Command interpreter)
(하드웨어를 제어하는 프로그램 = 운영체제(Operating System)
실제 하드웨어를 제어하는 관리해주는 부분 = 커널(Kernel, 핵)
커널에게 무언가 명령을 요청하거나 하는 것, OS의 인터페이스 역할 = 쉘(Shell, Command Interpreter)
정리하면 OS의 인터페이스로써 사용자가 입력한 명령을 해석(Interpreter)해서 그 명령을 실행해주는 것을
Command Interpreter, Shell이라고 한다.
Windows OS를 잘 안다는것은? 해당 Windows OS의 쉘에 대해서 잘 알고있다.
즉, Windows OS의 사용법을 잘 알고있는 것이다.
이번 운영체제의 공부 목적은 Shell에 대한 학습이 아닌! Kernel에 대해서 학습하는 것이다.
운영체제의 위치
- 하드웨어 > 운영체제 > 애플리케이션
* 2가지 그림
- 운영체제 vs 정부 (Government)
* 자원 관리자 (resource manager)
* 자원 할당자 (resource allocator)
* 주어진 자원을 어떻게 가장 잘 활용할까? 국토, 인력, 예산
* 정부가 직접 일하지는 않음
* 업무별 부서 : 행정부, 교육부, 사법부, 국방부, 교통부, 농림수산식품부, 고용노동부 등등...
* 운영체제도 이와 똑같다.
* Process, I/O 장치, 메모리, 파일시스템 등등...
* 역할별 관리 부서: ProcessManagement, MemoryManagement, DeviceManagement, FileManagement, NetworkManagement, Sequrity(Protection)Management 등등
특정 OS에 Application을 다른 OS에서 실행하면 동작할까? X
'Computer Science > 운영체제' 카테고리의 다른 글
#6. 프로세스 관리 (0) | 2022.06.29 |
---|---|
#5. 운영체제 서비스 (0) | 2022.06.28 |
#4. 이중모드, 하드웨어 보호 (0) | 2022.06.27 |
#3. 고등운영체제, 인터럽트 기반 시스템 (0) | 2022.06.26 |
#2. 운영체제 역사 (0) | 2022.06.26 |