일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- JPA
- 리액트
- 완전탐색
- 노마드코더 강의
- 백준
- Java
- Array
- React.js
- 달빛클럽1기
- 인플레이션에서 살아남기
- SoftwareExpertAcademy
- 달빛캠퍼스
- 달빛클럽
- HashMap
- 재귀
- Stack
- 달빛클럽 1기
- 자바
- Algorithm
- React
- ReactJS로 영화 웹 서비스 만들기
- dfs
- 카카오블라인드코딩테스트
- 노마드코더
- 프로그래머스
- 경제공부
- 알고리즘
- programmers
- SWEA
- BOJ
- Today
- Total
th42500의 TIL
운영체제(Operation System, OS)란? 본문
📌 운영체제를 학습하기에 앞서 마음가짐
내가 직접 운영체제가 되자
❓ 운영체제(Operation System, OS) 란?
👉 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
👉 좁은 의미(=커널) : 운영체제의 핵심 부분으로, 컴퓨터 전원을 켰을 때 부팅이 된 후 메모리에 상주하는 부분
👉 넚은 의미 : 커널 뿐만 아니라 각종 주변 시스템 유틸리티를 포함한 개념
📢 운영체제의 목적
👉 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행하여 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
👉 컴퓨터 시스템의 자원을 효율적으로 관리 (자원관리자)
운영체제의 효율적인 자원 관리란?
✔ 주어진 자원으로 최대한의 성능 (효율성)
✔ 사용자 간의 형평성 있는 자원 분배
📖 운영체제의 분류
1️⃣ 동시 작업 가능 여부
👉 단일 작업 (Single tasking) ex) MS-DOS
👉 다중 작업 (Multi tasking) ex) UNIX, MS Windows 등 지금의 대부분의 운영체제
2️⃣ 사용자의 수 (동시 접근 가능 여부)
👉 단일 사용자 (Single user) ex) MS-DOS, MS Windows
👉 다중 사용자 (Multi User) ex) UNIX, NT server
3️⃣ 처리 방식
👉 일괄 처리 (batch processing)
작업 요청의 일정량을 모아서 한번에 처리
작업이 온전히 종료될 때까지 기다려야 하며, 오류 발생 시 서비스에 큰 영향을 미침
👉 시분할 (time sharing)
(CPU 기준) 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용
일괄처리 시스템에 비해 짧은 응답 시간을 가지며, interactive한 방식
👉 실시간 (Realtime IS)
정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 실시간 시스템을 위한 OS
✔ Hard realtime system ( 경성 실시간 시스템 )
정해진 기한을 맞추지 못했을 때 결과에 치명적인 영향을 미치는 시스템
✔ Soft realtime system ( 연성 실시간 시스템 )
정해진 기한은 있지만 지키지 못해도 결과에 치명적인 영향을 미치지는 않는 시스템
🌱 혼돈하기 쉬운 용어 정리
📢 모두 여러 작업을 동시에 수행한다는 의미에서 사용되는 용어들이지만, 조금씩 차이가 있음
👉 Multitasking
✔ CPU는 매 순간은 하나의 작업만 실행하고 있으며 이를 짧은 시간 간격으로 분할해서 살당하여 동시에 처리되는 것처럼 보이는 것
✔ 하나의 프로그램이 끝나기 전에 다른 프로그램이 컴퓨터에서 실행이 가능한 것
👉 Multiprogramming
✔ 메모리에 여러 프로그램이 동시에 올라가 있는 것
👉 Time sharing
✔ CPU의 시간을 분할하여 나누어 사용
👉 Multiprocess
✔ 여러 프로그램(process) 들이 동시에 실행됨
👉 Multipriocessor
✔ 하나의 컴퓨터에 CPU(processor)가 여러 개 붙어 있음을 의미
운영체제의 예
👉 유닉스 (UNIX)
✔ 대형 컴퓨터를 위해 만들어진 운영체제
✔ Multitasking과 다중 사용자(multi user) 지원
✔ 유닉스를 만들기 위해 탄생한 것이 C언어
✔ 초창기에는 유닉스의 소스코드를 모두 공개하여 누구나 학술적으로 이용할 수 있었음
✔ 높은 이식성(Poratble)
✔ 최소한의 커널 구조
✔ 복잡한 시스템에 맞게 확장이 용이함
✔ 다양한 버전이 있으며, 그 중 특히 Linux는 공개 소프트웨어 정신에 입각하여 지금도 소스코드를 공개하고 있음
👉 DOS (Disk Operating System)
✔ MS 사에서 1981년 IBM-PC를 위해 개발
✔ 단일 사용자용 운영체제, 적은 메모리로의 자원 관리 능력의 한계
✔ 적은 메모리를 유지하며 기술의 발전을 따라가려 하다보니 코드가 점점 복잡해짐
👉 MS Windows
✔ MS 사의 다중 작업용 GUI 기반 운영체제
✔ Plug and Play, 네트워크 환경 강화
✔ DOS용 응용 프로그램과 호환성 제공
✔ 풍부한 지원 소프트웨어
👉 Handheld device를 위한 OS
✔ iOS, Palm OS, Pocket pc(Win CE), Tiny OS 등등..
참고 강의
http://www.kocw.net/home/m/cview.do?cid=3646706b4347ef09
운영체제
운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각
www.kocw.net
본 내용은 KOCW 의 운영체제 강의를 수강한 후 정리한 내용입니다.
'운영체제' 카테고리의 다른 글
컴퓨터 시스템 구조와 프로그램 실행 과정 (0) | 2023.02.20 |
---|