ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OS 2강: OS overview
    os 운영체제 2024. 2. 19. 03:01

    https://www.youtube.com/watch?v=nxl_cUd55Ag&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=5

    운영체제의 역할:

    user interface(편리성):

        CUI(Character User Interface)

        GUI(Graphical User Interface)

        EUCI(End-User Comfortable Interface)

    Resource management(효율성):

        HW resource (processor, memory, I/O devices, Etc.)

        SW resource (file, application, message, signal등)

    실행주체, Thread(가벼운 실행주체) 관리 

    시스템 보호(관리)

       

    컴퓨터 시스템 구성1

    Applicaiton에서 os에 요청할 때, System Call Interface를 통해 요청됨. (커널을 마음대로 조작할 수 없게끔)

    컴퓨터 시스템 구성2


    https://www.youtube.com/watch?v=hzXVQIlSSos&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=3

    운영체제 구분:

    사용자 수에 따라:

        Single-User system:

            한 명의 사용자가 모든 시스템 자원 독점

            자원관리 및 시스템 보호 방식이 간단.

            개인용 장비(PC, mobile)에 사용(windows, android, MS-DOS)

        Multi-User system

            동시에 여러 사용자들이 시스템 사용.

            각종 시스템 자원(파일)에 대한 소유 권한 관리 필요

            os의 기능 및 구조가 복잡

            서버, 클러스터 장비 등에 사용(Unix, Linux, Windows server)

            

    동시 실행 프로세스 수에 따라:

        단일 작업:

            시스템 내에 하나의 작업(프로세스)만 존재

            운영체제가 간단 (ex: MS-DOS)

        다중 작업:

            동시에 여러 작업(작업들 간 동시수행, 동기화 등 관리 필요)

            운영체제의 기능 및 구조가 복잡 (ex: Windows, Unix)

     

    작업 수행 방식에 따라:

        과거: 순차처리 = 운영체제 개념 x

        1. Batch Systems(일괄처리) 1950~60s

            모든 시스템을 중앙(전자계산소)에서 관리 및 운영

            사용자의 요청 작업을 일정 시간 모아 두었다가 한번에 처리

            특징: 시스템 지향적

            장점: 많은 사용자가 시스템 자원 공유, 처리 효율 향상

            단점: 생산점 저하(같은 유형의 작업이 모이기를 기다려야 함), 긴 응답시간 

        2. Time Sharing Systems(시분할) 1960~70s

            여러 사용자가 자원을 동시에 사용 (os가 파일 시스템 및 가상 메모리 관리)

            특징: 사용자 지향적, 대화형 시스템, 단말기 사용

            장점: 응답시간 단축, 생산성 향상

            단점: 통신 비용 증가(통신선 비용, 보안 문제), 개인 사용자 체감 속도 저하(동시 사용자=시스템 부하=느려짐)

        3. Personal Computing:

            개인이 시스템 전체 독점, CPU 활용률이 교려의 대상 아님(100% 안써도 됨),

            OS의 단순화, 사용자 지원 기능 향상 

            장점: 빠름

            단점: 성능 저하 (비싼거 못 쓰니깐)

        4. Parallel Processing System(병렬 처리 시스템): 

            단일 시스템에 둘 이상의 프로세스, 메모리 자원 공유

            사용목적: 성능 향상, 신뢰성 향상(하나가 고장나도 정상 사용이 가능함)

            특징: 프로세서간 관계 및 역할 관리 필요

        5. Distributed Processing Systems (네트워크를 기반으로 구축된 병렬처리 시스템)

            물리적 통신망(LAN)의 이용한 상호 연결 

            각각 운영체제 탑재한 다수의 범용 시스템으로 구성

            분산운영체제(cluster 슈퍼컴 등)를 통해 하나의 프로그램, 자원처럼 사용가능(은폐성)

            장점: 높은 성능, 고 신뢰성

            단점: 구축 및 관리가 어려움.

        6. Real-time Systems

            작업 처리에 제한 시간(deadline)을 갖는 시스템, 제한 시간 내에 서비스를 제공하는 것이 자원 활용 효율보다 중요

            작업 종류: 

                Hard real-time task: 시간 제약을 지키지 못하면 시스템에 치명적(원자력 발전소)

                Soft real-time task: 동영상 재생 

                Non real-time task


    운영체제의 구조:

    application 빼고 다 OS임

    커널(Kernel):

        os의 핵심(메모리 상주): 가장 빈번하게 사용되는 기능 담당(시스템 관리 등)

        동의어: 핵, 관리자 프로그램, 상주 프로그램, 제어 프로그램 등

    유틸리티: 

        비상주 프로그램, UI등 서비스 프로그램        

     

    단일 구조 OS:  (main함수 안에 다 넣은 격)

        장점: 커널 내 모듈간 직접 통신 = 효율적 자원 관리 및 사용

        단점: 커널의 거대화 = 오류 및 버그, 추가 기능 구현 등 유지보수 어려움 & 동일 메모리에 모든 기능이라 한 모듈의 문제가 크리티컬해짐.

     

    계층 구조:

        장점: 모듈화 = 계층간 검증 및 수정 용의 & 설계 및 구현의 단순화

        단점: 단일구조 대비 성능 저하 (여러 계층을 거쳐야 되기 때문에)

     

    마이크로 커널 구조:

        커널에는 필수 기능만 담고 나머지는 다 사용자 영역으로 처리

       


    운영체제의 기능:

    프로세스 관리:

        프로세스:

            커널에 등록된 실행 단위 (실행 중인 프로그램)

            사용자 요청(프로그램)의 수행 주체

        os의 프로세스 관리 기능

            생성 및 삭제, 상태 관리

            자원 할당 

            프로세스 간 통신 및 동기화 

            교착상태(deadlock) 해결

        프로세스 정보 관리

            PCB(process control block)

     

    프로세서 관리:

        CPU, CPU 스케줄링, 프로세서 할당 관리(한번에 하나의 프로세스만 사용 가능)

     

    메모리 관리:

        주 기억장치, 

        Multi-user, Multi-tasking 시스템:

            프로세스에 대한 메모리 할당 및 회수, 여유공간 관리, 각 프로세스의 할당 메모리 영역 접근 보호

        메모리 할당 방법:

            전체 적재= 장점: 간단 구현, 단점: 제한적 공간

            일부 적재= 장정: 메모리의 효율적 활용, 단점: 보조기억 장치 접근 필요

     

    파일 관리:

        파일: 논리적 데이터 저장 단위

        사용자 및 시스템 파일 관리

        디렉토리 구조 지원

        파일 관리 기능: 

            파일 및 디렉토리 생성/삭제

            파일 접근 및 조작

            파일을 물리적 저장 공간으로 사상

            백업

     

    입출력 관리:

        os를 반드시 거침 

    사용자->커널공간->입출력장치

     

    그외:

        디스크, 네트워크, 보안 시스템, command interpreter system, system call interface(os와 응용 프로그램 간의 인터페이스)

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

    컴퓨터 구조: 어드레싱 모드란?  (0) 2024.03.25
    OS 5강: 프로세스 스케줄링  (0) 2024.03.01
    OS 4강: 쓰레드 관리  (0) 2024.02.20
    OS 3강: 프로세스 관리  (0) 2024.02.19
    OS 1강: 컴구 Overview  (0) 2024.02.17
Designed by Tistory.