happy coding

[이론] introduction to operating systems 본문

lecture/operating system

[이론] introduction to operating systems

yeoonii 2023. 7. 1. 01:46

운영체제 정의

컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 협의의 운영체제(커널) - 좁은 의미 : 운영체제의 핵심 부분, 메모리에 상주하는 부분 광의의 운영체제 - 넓은 의미 : 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념

운영체제 목적

자원을 효율적으로 관리 자원 : 프로세서, 기억 장치, 입출력 장치 사용자 및 운영체제 자신의 보호 효율성, 형평성 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행 동시 사용자/프로그램들이 동시에 실행되는 듯한

운영체제 분류

동시 작업 가능 여부

단일 작업(single tasking) 한 번에 하나의 작업만 처리 다중 작업(multi tasking) 동시에 두 개 이상의 작업 처리

사용자 수

단일 사용자 다중 사용자

처리 방식

일괄 처리(batch processing) 작업의 일정량을 모아서 한꺼번에 처리 작업이 완전히 종료될 때까지 기다려야 함 시분할(time sharing) 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할해 사용 일괄 처리 시스템에 비해 짧은 응답 시간, cpu를 번갈아서 지원 interactive한 방식 사람이 느끼기에 빠르게, 주어진 자원 최대한 활용 실시간(Realtime OS) 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 실시간 시스템을 위한 OS hard realtime system soft realtime system

여러 작업이 동시에 수행된다는 용어 구분

multitasking

여러 작업이 동시에 수행된다는 일반적인 용어 cpu 할당하는, 동시에 진행되는 것처럼 보임 하나의 프로그램이 끝나기 전에 다른 프로그램이 실행되는 것

multiprogramming

메모리에 여러 프로그램이 동시에 올라가는 것(실행) 메모리 측면 강조

time sharing

시분할 cpu 강조

multiprocess

multiprocessor : 하나의 컴퓨터에 cpu가 여러 개 붙어 있음을 의미 > 하드웨어적으로 다른 프로그램

운영체제 예시

유닉스 > 리눅스

코드의 대부분을 C로 작성 > 유닉스 개발을 위해 만든 C언어 높은 이식성 최소한의 커널 구조 복잡한 시스템에 맞게 확장 용이 소스 코드 공개 프로그램 개발에 용이

DOS

단일 사용자용 운영체제, 메모리 관리 능력의 한계

MS Windows

다중 작업용 GUI 기반 운영 체제 불안정성 풍부한 지원 소프트웨어

운영체제 구조

주어진 자원을 최대한 활용하기 위해.

CPU 스케줄링

어떤 프로그램에게 CPU 사용할 수 있도록 순서를 정할 수 있을지.

메모리 관리

어떤 프로그램에 한정된 메모리를 얼만큼 할당할지. 어떤 프로그램이 다음 cpu에 올라올지 알 수 있도록.

파일 관리

disk에 파일을 어떤 방식으로 보관할지.

입출력 관리

각기 다른 입출력장치와 컴퓨터 간에 어떤 방법으로 정보를 주고 받을지.

프로세스 관리

프로세스의 생성과 삭제 자원 할당 및 반환 프로세스 간 협력

'lecture > operating system' 카테고리의 다른 글

[이론] system structure & program execution  (0) 2023.07.01
Comments