본문 바로가기

학부 수업/운영체제

Chapter01

1.1

  • 운영체제란 : 컴퓨터의 여러 응용 프로그램을 설치되게 해 주고, 여러 가지 장치를 효율적으로 작동하도록 하며, 사용자가 컴퓨터를 손쉽게 이용할 수 있도록 해주는 프로그램의 집단. 컴퓨터의 사용자와 하드웨어 사이에서 가교 역할을 하는 프로그램. 사용자 인터페이스와 자원관리를 위한 프로그램의 집단

 

  • 시스템 소프트웨어 : 운영체제 + 시스템 프로그램 집단

 

  • 응용 소프트웨어 : 응용 프로그램 집단

 

  • 하드웨어 → 운영체제 → 응용 프로그램 → 사용자

 

1.2 운영체제의 역사

  • 수동식 계산기

 

  • 자동계산기

 

  • 1세대 운영체제 : 진공관 컴퓨터, ABC, ENIAC, 폰 노이만의 2진 부호 체계 채택, EDSAC, UNIVAC-I, IBM701(일괄처리 시스템 등장), IBM 305 등
    • 일괄처리란 다수 개의 프로그램을 읽어 저장해 높되, 한 번에 한 개씩 프로그램을 실행시켜 주는 방식, 진공카드 위에 만들어지고 카드 판독기가 읽어 저장. Batch는 작업이 차례대로 한 개씩 처리된다는 뜻으로 한 개의 작업이 시작되면 그 일이 완전히 끝날 때까지 다른 작업은 기다려야 한다는 뜻, 작업이 끝날 때까지 사용자의 중간 개입이 허용되지 않는다.

 

  • 2세대 운영체제(1960년대 전반기) : 가장 큰 특징은 트랜지스터 컴퓨터로, 사이즈와 값이 작고 전력효율이 높아졌다는 것이다.사용자에게도 보다 나은 서비스를 제공하기 위한 많은 방식들이 개발되었는데 대표적인 것이 다중 프로그래밍 시스템과 다중처리 시스템, 시분할 시스템, 대화식 시스템 등이다.
    • 다중 프로그래밍 시스템(Multi-programming) : 다수 개의 작업이 같이 주기억 장치에 있도록 한 방식 → CPU개수와 무관
    • 다중처리 시스템(Mulitprocessing) : 여러 개의 처리장치를 장착하여 동시에 여러 작업을 병렬로 실행하여 처리 속도를 최대한 높이는 방식 → CPU가 2개 이상, 메모리 위에 있어야 하며 mulit programming이 갖추어져야 한다.
    • 시분할 시스템 : CPU가 처리해 줄 수 있는 시간을 작업 수에 맞춰 분할하여 각자에게 일정량만큼 씩 분배하여 번갈아 처리 → CPU1개, 다중 프로그래밍 시스템이 먼저 필요.
    • 대화식 시스템 : 시스템과 사용자가 모니터와 입력 장치를 통해 마치 대화하듯이 일을 처리해 나가는 방식 →시분할 필요

 

  • 3세대 운영체제(1960년대 후반기 - 1970년대) : 다중모드 시분할 시스템(일괄처리와 시분할 그리고 실시간 작업 모두 지원) 소개, 근거리 통신망(LAN), 소프트웨어 공학과 컴퓨터 보안 소개, UNIX 운영체제 출현

 

  • 4세대 운영체제(1970년대 후반기 - 현재) : 파이크로프로세서 개발 → PC보급

 

 

1.3 운영체제의 기능

  • 쉘 : 사용자 인터페이스로 사용자나 응용 프로그램이 운영체제와의 의사소통인 정보 교환과 운영체제로의 요청 창구

 

  • 장치들의 관리 : 시스템에 있는 주변 장치(키보드, 마우스, 하드디스크 등) 제어

 

  • 파일 관리 : 파일을 만들고 지우고 수정하고 이름을 부여, 디렉터리를 관리

 

  • 메모리 관리 : 주기억 장치의 관리, 일부분을 할당, 프로그램들의 경계를 설정

 

  • 처리기 관리 : CPU의 처리 능력을 각 작업에 효과적으로 배분하도록 한다. 

  • 커널 : 운영체제의 각종 기능들 중 사용자와 실행 프로그램을 위해 매우 빈번하게 사용되는 부분, 컴퓨터가 처음 부팅될 때 주기억 장치에 적재되어 시스템의 운영이 종료될 때까지 계속해서 주기억 장치에 남아 있게 되는 부분

 

  • 운영체제를 전부 커널로 한다면 사용자 프로그램들의 공간이 줄어 실행되지 못할 수 있기에 운영체제 프로그램 중 자주 사용되지 않는 부분은 디스크에 두고 필요할 때 주기억 장치로 넣어 실행

 

  • 유틸리티 : 사용자 인터페이스의 대부분이 유틸리티

 

  • 펌웨어 : 커널 중에서도 좀 더 빠른 실행이 요구되거나 높은 수준의 보호가 필요한 프로그램으로 마이크로-프로그래밍을 하여 롬과 PLA와 같은 칩의 형태로 만든 것

 

  • 프로그램들이 실행될 때 적용받게 되는 모드가 있는데 유저 모드와 커널 모드가 있다. 커널 모드는 운영체제가 실행되는 모드로 모든 명령이 수행 가능하고 유저 모드는 사용자 프로그램과 응용 프로그램 등이 실행된다. 유저 모드로 실행 중 커널 모드에서 해야할 일이 생기면 프로그램은 시스템 호출을 하고, 이후 그 일을 해 줄 운영체제 프로그램이 커널 모드에서 실행된 다음 다시 사용자 프로그램으로 복귀되도록 한다.

'학부 수업 > 운영체제' 카테고리의 다른 글

Chapter05  (0) 2022.04.14
Chapter04  (0) 2022.04.08
Chapter03  (0) 2022.03.23
Chapter02  (0) 2022.03.21