developer-ellen
인간 디버거의 로그 찍기
developer-ellen
전체 방문자
오늘
어제
  • 분류 전체보기 (217)
    • 회고록 (0)
    • 취뽀 및 커리어 여정의 Stack (2)
      • SSAFY 7기 (2)
    • 프로그래밍공부 (24)
      • c++ (0)
      • JAVA (3)
      • Spring (5)
      • design pattern (3)
      • BackDB (1)
      • Servlet&JSP (3)
      • Vue (4)
      • JPA (4)
      • Infra (1)
      • Linux (0)
    • AI (3)
      • papers (3)
      • trend (0)
    • 프로젝트진행 (0)
      • 데이터베이스 (0)
      • 서버개발 (0)
      • 인공지능 (0)
      • 하루정리 (0)
    • 포트폴리오 (0)
    • 알고리즘 (158)
      • 알고리즘문풀 (155)
      • 알고리즘공부 (3)
    • 통계공부 (15)
      • 시계열분석 (15)
      • 회귀분석 (0)
    • CS (14)
      • 컴퓨터네트워크 (4)
      • 운영체제 (8)
      • 데이터베이스 (2)
    • 주저리주저리 (0)
      • 필사 (0)
    • 취업관련정보 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 삼성코테파이썬준비
  • SW역량테스트파이썬풀이
  • 백준파이썬풀이
  • MA모형
  • 통계분석
  • 삼성코테준비
  • BOJ파이썬풀이
  • 운영체제인터럽트
  • 삼성코테파이썬풀이
  • 카카오코테java풀이
  • 코테파이썬
  • AR모형
  • 삼성코테기출
  • 통계학
  • 시계열
  • 삼성코테자바준비
  • 삼성코테기출자바풀이
  • 삼성코테자바풀이
  • c++ 빌더 패턴
  • ARIMA모형
  • 시계열분석
  • Arima
  • SW역량테스트파이썬
  • c++디자인패턴
  • 삼성코테파이썬
  • 카카오코테
  • 삼성코테구현문제추천
  • 삼성코테구현풀이
  • 삼성코테자바꿀팁
  • 데이터분석

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
developer-ellen

인간 디버거의 로그 찍기

운영체제(OS)에 대하여
CS/운영체제

운영체제(OS)에 대하여

2021. 9. 27. 21:08

운영체제(OS)

1. 운영체제의 정의

  • 운영체제(operating system)란 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어
  • 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
  • 컴퓨터 시스템을 운영하는 기본적인 소프트웨어를 운영체제

2. 커널

  • 운영체제도 하나의 소프트웨어로서 컴퓨터 시스템에서 실행되기 위해서 메모리에 올라가게 됨
  • 그러나 운영체제처럼 규모가 큰 프로그램이 모두 메모리에 올라갈 수 없어 운영체 중 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 올려놓고 그렇지 않은 부분은 필요할 때 메모리에 올려서 사용
  • 커널은 좁은 의미의 운영체제로 메모리에 상주하는 운영체제의 부분
  • 커널은 운영체제 코드 중에서 핵심적인 부분를 나타냄
  • 넓은 의미의 운영체제는 커널 뿐만 아니라 시스템을 위한 유틸리티도 광범위하게 포함하는 개념

 

3. 운영체제의 기능

: 운영체제의 역할은 하드웨어를 위한 역할과 사용자를 위한 역할 두 가지로 나뉨

1) 컴퓨터 시스템 내의 자원(resource)을 효율적으로 관리하는 것

  • 운영체제의 핵심 기능은 자원을 효율적으로 관리하는 것이며, 따라서 운영체제를 자원관리자라고 부름
  • 자원이란 CPU, 메모리, 하드디스크 등 하드웨어 자원 뿐 아니라 소프트웨어 자원까지 통칭해서 부르는 말
  • 운영체제는 사용자 및 프로그램들 간에 자원이 형평성 있게 분배되도록 하는 균형자 역할도 함께 수행하며, 효율성을 지키도록 동작

2) 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공하는 것

  • 편리한 환경제공이란 운영체제가 여러 사용자 및 프로그램들에게 각각 독립적으로 컴퓨터를 사용하는 것과 같은 '환상'을 제공하는 것
  • 하드웨어를 직접 다루는 복잡한 부분은 운영체제가 대신 해주고, 각 사용자 및 프로그램은 그에 대한 자세한 내용을 몰라도 프로그램을 실행할 수 있도록 해주는 기능을 제공( ex- 파일 손쉽게 저장, 파일 내용 읽기 )

 

3) 그 외에도 사용자와 운영체제 자신을 보호하는 역할을 수행(보안 및 보호 기능)

 

 

4. 운영체제의 분류

동시 작업을 지원하는지의 여부에 따른 분류

1) 단일작업(single tasking)용 운영체제

  • 한번에 하나의 프로그램만 실행시킬 수 있는 운영체제
  • 초창기 운영체제인 DOS 환경에서는 하나의 프로그램이 실행되는 동안 다른 프로그램을 실행시킬 수 있는 명령어 입력 라인이 뜨지 않아 한 번에 하나의 작업만 수행 가능

2) 다중작업(multi tasking)용 운영체제

  • MS 윈도우나 유닉스 환경처럼 하나의 프로그램이 끝나기 전에 다른 프로그램을 실행시킬 수 있는 운영체제
  • 운영체제가 다중작업을 처리해야할 때에는 여러 프로그램이 CPU와 메모리를 공유하게 됨
  • 여러 프로그램을 같이 싫애시키지만 사용자 개개인의 관점에서는 각 프로그램이 곧 바로 동작되는 것 처럼 보이기 때문에 이러한 시스템을 대화형 시스템이라고 함
  • 다중작업, 시분할, 다중 프로그래밍, 대화형 시스템은 모두 여러 프로그램이 하나의 컴퓨터에서 동시에 실행됨   

     - 시분할 시스템(time sharing system) : CPU의 작업시간을 여러 프로그램들이 조금씩 나누어 쓰는 시스템

     - 다중 프로그래밍 시스템(multi-programming system) : 메모리 공간을 분할해 여러 프로그램들을 동시에 메모리에         올려놓고 처리하는 시스템

     - 다중 처리기 시스템(multi-processor system) : 하나의 컴퓨터 안에 CPU가 여러 개 설치된 시스템으로 뜻하며 서로         다른 CPU에서 여러 프로그램이 동시에 실행될 수 있어 처리속도는 빠르지만 운영체제어서는 여러 CPU를 관리하

       기 때문에 더욱 복잡한 메커니즘이 필요함 

 

다중 사용자에 대한 동시 지원 여부에 따른 분류

1) 단일 사용자용 운영체제 : 한 번에 한 명의 사용자만이 사용하도록 허용하는 운영체제

2) 다중 사용자용 운영체제 : 여러 사용자가 동시에 접속해 사용할 수 있게 하는 운영체제

 

 

작업을 처리하는 방식에 따른 분류

1) 일괄 처리 방식 운영체제

  • 요청된 작업을 일정량씩 모아서 한꺼번에 처리하는 방식
  • 사용자의 입장에서 응답시간이 길다는 단점

2) 시분할 방식 운영체제

  • 여러 작업을 수행할 때 컴퓨터의 처리 능력을 일정한 시간 단위로 분할해 사용하는 방식
  • 유닉스의 경우 여러 사용자의 작업을 짧은 시간 단위씩 번갈아가면서 처리
  • 평균적으로 사람들이 길다고 느끼는 시간에까지 이르지 않고 입력에 대한 응답을 얻을 수 있어 사용자 측에서는 자기 혼자 독점적으로 사용하는 것처럼 생각됨
  • 사용자에 요청에 대해 결과를 곧바로 얻을 수 있는 시스템을 대화형 시스템이라고 하며, 시분할 방식의 대표적인 특징임

3) 실시간(real time) 운영체제

  • 정해진 시간 안에 어떠한 일이 반드시 처리됨을 보장해야 하는 시스템에서 사용됨
  • 시간제약의 중요성에 따라 경성 실시간 시스템, 연성 실시간 시스템으로 분류
  • 경성 실시간 시스템(hard realtime system)은 주어진 시간을 지키지 못할 경우 매우 위험한 결과를 초래할 가능성이 있는 로켓, 원자로 제어 시스템
  • 연성 실시간 시스템(soft realtime system)은 멀티미디어 스트리밍 시스템과 같이 데이터가 정해진 시간 단위로 전달되어야 올바른 기능을 수행할 수 있는 시스템

 

5. 운영체제의 예

  • 대표적으로 유닉스, MS 윈도우가 존재
  • 유닉스는 소프트웨어의 이식성이 높은 운영체제로, 소프트웨어의 이식성이란 해당 소프트웨어를 다른 기종의 기계로 옮기는 것이 얼마나 용이한 가라를 나타내는 지표
  • 유닉스는 핵심부분이라 할 수 있는 커널의 크기가 놀라울 정도로 작았으며, 여러 가지 유틸리티를 지원하기 때문에 프로그래밍 환경에서 이상적( 유닉스가 C코드로 만들어졌기 때문에 어셈블리어에 비해 사람이 편리하게 사용가능)
  • MS 윈도우는 개인용 컴퓨터를 위한 운영체제로서 누구든지 손쉽게 사용할 수 있도록 하는 편리한 인터페이스와 각종 기능들을 특징으로 함

 

 

 

출처 : (http://www.kocw.net/home/m/search/kemView.do?kemId=1046323)

- 강의 : 이화여자대학교, 반효경 (운영체제)

- 책 : 운영체제와 정보기술의 원리 [반효경]

 

위 강의와 책을 보며 공부한 내용을 기록하였습니다. 

 

 

 

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

프로세스와 스레드의 차이  (1) 2022.09.11
컴퓨터 시스템의 동작 원리-3  (0) 2021.10.28
컴퓨터 시스템의 동작 원리-2  (0) 2021.10.28
컴퓨터 시스템의 동작 원리-1  (0) 2021.10.28
운영체제(OS)의 자원 관리 기능  (0) 2021.10.28
    'CS/운영체제' 카테고리의 다른 글
    • 컴퓨터 시스템의 동작 원리-3
    • 컴퓨터 시스템의 동작 원리-2
    • 컴퓨터 시스템의 동작 원리-1
    • 운영체제(OS)의 자원 관리 기능
    developer-ellen
    developer-ellen

    티스토리툴바