게으른 개발자

1강. Introduction to Operating Systems 본문

cs/운영체제

1강. Introduction to Operating Systems

Tomato_Coffee 2023. 11. 1. 16:29

운영체제는 컴퓨터 하드웨어 윗단에 설치되는 소프트웨어이다.

좁은 의미의 운영체제 => 커널

넓은 의미의 운영체제 => 커널 + 시스템 유틸리티

 


운영체제의 목적은 주어진 자원을 효율적으로 관리하는 것이다. 그러나 너무 효율적으로만 자원을 관리하게 되면 자원 분배에 대한 형평성이 침해될 수 있으므로 운영체제는 형평성도 고려해서 자원을 분배해야 한다.

운영체제는 사용자에게 편리성을 제공해야 한다.


운영 체제의 분류
동시 작업 가능 여부로 운영체제 분류
사용자의 수에 따른 운영체제 분류

다중 사용자일 경우에 [보안 + 자원분배]를 더 신경 써줘야 한다.

Batch processing

  • batch processing은 interactive 하지 못함.

Time sharing

시분할 방식은 interactive(상호작용 하는, 대화형의) 가능! 그러나 batch processing은 불가능하다.

Realtime OS

Time sharing => 범용 컴퓨터

Realtime OS => 정교한 컴퓨팅이 필요한 부분 (ex: 원자로 제어, 미사일, 반도체 장비, 로봇 제어) --> 데드라인을 반드시 지켜야 하는 운영체제

 

Hard realtime system : 원자로 제어, 미사일, 반도체 장비, 로봇 제어

Soft realtime system : 데드라인은 있지만 크게 문제가 되지 않는 분야 -> 영화 재생 등등..

 

최근 실시간성을 필요로 하는 응용프로그램이 늘어남에 따라서 범용운영체제(시분할)에서 해당 애플리케이션을 어떻게 지원해야 할지 이슈가 되고 있다.


용어정리

  • Multitasking : cpu에서는 매 순간 하나의 작업만 실행. 하나의 프로그램이 끝나기 전에 다른 프로그램도 실행됨. --> 사용자 입장에서는 동시에 돌아가고 있는 것처럼 느낌.
  • Multiprogramming : 메모리에 여러 프로그램을 올라가 있음.  ==> 메모리 측면을 강조
  • Time sharing : 시간을 분할 ( 시분할) ===> cpu 강조

 


 

유닉스를 만들기 위해서 c언어를 만듦. 안드로이드도 리눅스 커널을 사용한다. 


 

본 게시물은 kocw 반효경 교수님 강의를 참고하였습니다.

http://www.kocw.net/home/search/kemView.do?kemId=1046323

'cs > 운영체제' 카테고리의 다른 글

3강-2. Process2  (0) 2023.11.03
3강-1. Process1  (1) 2023.11.03
2강-2. System Structure & Program Execution 2  (0) 2023.11.02
2강-1. System Structure & Program Execution 1  (1) 2023.11.02
0강. 운영체제 개요  (0) 2023.11.01