두's 스토리
운영체제 기본 본문
운영체제
컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
커널 운영체제의 핵심 부분으로 메모리에 상주하는 부분
좁은 의미로는 커널, 넓은 의미로는 커널 뿐 각종 주변 시스템 유틸리티를 포함한 개념
하드웨어를 효과적으로 관리
컴퓨터 시스템의 자원을 효율적으로 관리
각 시스템들에게 적절하게 메모리 배분
분류
1. 동시작업수에 따라
-
단일작업(single tasking)
-
한 번에 하나의 작업만 처리 ex) MS-DOS
-
-
다중작업
-
동시에 두 개 이상의 작업 처리 ex) UNIX, MS Windows
-
2. 사용자수에 따라
-
단일 사용자(MS-DOS, MS Windows)
-
다중 사용자(Unix, NT server)
3. 처리방식에따라
-
일괄처리(batch processing)
-
작업을 모아서 한꺼번에 처리
-
-
시분할(time sharing)
-
현대 방식
-
여러 작업을 운영체제가 작은 시간 단위로 나누어서 번갈아가며 지원
-
interactive한 방식
-
-
실시간(Realtime Os)
-
정해진 시간 안에 일이 종료되는거를 보장해줌
-
특수한 시스템에서 사용 ex) 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어 운영체제의 예
-
종류
-
유닉스
-
코드의 대부분을 C언어로 작성
-
높은 이식성
-
최소한의 커널구조
-
소스 코드 공개
-
프로그램 개발에 용이
-
다양한 버전
-
System V, FreeBSD, SunOS, Solaris
-
Linux
-
-
-
DOS(Disk Operating System)
-
단일 사용자용 운영체제, 메모리 관리 능력의 한계
-
-
MS Windows
-
MS사의 다중 작업용 GUI 기반 운영 체제
-
Plug and Play, 네트워크 환경 강화 운영 체제의 구조
-
정리
-
누구한테 CPU 줄까? CPU 스케줄링
-
한정된 메모리를 어떻게 쪼개어 쓰지? 메모리 관리
-
디스크에 파일을 어떻게 보관하지? 파일 관리
-
각기 다른 입출력장치와 컴퓨터 간에 어떻게 정보를 주고 받게 하지? 입출력 관리
데드락 발생조건
1) 상호배제
2) 점유대기
3) 비선점
4) 순환대기
-> 다익스트라의 은행원 알고리즘