운영체제

    [운영체제 7] 스케줄링 알고리즘

    * 프로세스 : 메모리에 올려져서 실행중인 프로그램은 프로세스라고 함 -> 작업,task,job이라는 용어와 혼용 * 응용 프로그램 != 프로그램 - 응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음 - 하나의 응용 프로그램은 여러 개의 프로세스(프로그램)가 상호 작용을 하면서 실행 될 수 있음(IPC 기법) * 스케줄러 : 프로세스 실행을 관리 * FIFO 스케줄러 : 프로세스가 저장매체를 읽는다든지, 프린팅 작업 X 쭉 CPU를 처음부터 끝까지 사용한다. - 가장 간단한 스케줄러(배치 처리 시스템) - FCFS(First Come First Served) 스케줄러 Processes 3 2 2 2 1 ↓ CPU 1 2 2 2 3 * 최단 작업 우선(SJF) 스케줄러 - SJF(Shortest Jo..

    [운영체제 6] 스케줄링 알고리즘

    * 배치 처리 시스템 : 자동으로 다음 응용 프로그램이 실행되게 하는 것 ( 큐 구조) 큐(Queue) : First In First Out 단점 : A 프로그램이 실행이 시간이 너무 오래걸려서, B 프로그램이 실행하는데 시간을 많이 기다려야한다. -> 단점을 극복하고자 멀티 프로그래밍 / 시분할 시스템이 나왔다. * 시분할 시스템 (다중 사용자 지원, 응답시간 최소화) - > 다중 사용자 지원을 위해 컴퓨터 응답시간을 최소화 하는 시스템 Application 1 Application 2 3 ↓ 1 2 3 1 2 1 2 2 2 * 멀티 태스킹 -> 단일 CPU,여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템 ex ) MP3음악을 들으며, 문서작성을 하게 되면 MP3 | 문서 | MP3 ..

    [운영체제 5] 운영체제 구조 (커널모드)

    CPU Protection Rings CPU도 권한모드가 있다. - 사용자 모드(user mode) -> 응용 프로그램이 사용 - 커널 모드(kernel mode) : 특권 명령어 실행과 원하는 작업 수행을 위한 자원 접근을 가능케 하는 모드 Level 0 ,1 ,2,3 링 형식으로 0~3 까지 둘러 쌓여있으며, Level 0은 커널, Level 3는 응용 프로그램 사용자 모드와 커널 모드가 있어서 함부로 응용 프로그램이 전체 컴퓨터 시스템을 해치지 못한다. 정리 -운영체제는 시스템 콜 제공 -프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템 콜을 기반으로 API 제공 -응용 프로그램은 운영체제 기능 필요시, 해당 API를 사용해서 프로그램 작성 -응용 프로그램이 실행되서, 운영체제 기능이 필요..

    [운영체제 4] 운영체제 구조 (시스템 콜)

    * 응용 프로그램, 운영체제, 컴퓨터 하드웨어(시스템 리소스) 관계 ex) 도서관 - 운영체제는 도서관 - 응용 프로그램은 시민 - 컴퓨터 하드웨어는 책 운영체제 역할 : 시민은 도서관에 원하는 책(자원) 요청 도서관은 책(자원)을 찾아서, 시민에게 빌려줌 시민이 기한이 다 되면, 도서관이 해당 책(자원)을 회수함 * 응용 프로그램이 요청하는 메모리를 허가하고 분배, CPU시간 제공, IO Devices 사용을 허가/제어 USER ↕ Application ↕ OS ↕ Hardware 운영체제는 사용자 인터페이스 제공 - Shell : 사용자가 운영체제 기능과 서비스를 조작 할 수 있도록 인터페이스를 제공하는 프로그램 쉘은 터미널 환경(CLI)와, GUI 환경 두 종류로 분류 API: (Applicatio..

    [운영체제 3] 시대별 흐름 및 핵심 기술 (2)

    1980년대 1. 개인용 컴퓨터 시대 - > 80년대 이전 : 대형 컴퓨터를 여러명이 접속해서 사용 (UNIX) - > 80년대 : Personal Computer(PC) 2. CLI -> GUI 변화 CLI(Command Line Interface ) : 터미널 환경 GUI(Graphical User Interface) : 마우스로 누를 수 있는 일반적인 아이콘으로 이루어진 환경 1990년대 1. 응용 프로그램 시대 -> GUI 환경, 개인용 컴퓨터로 인하여 - 엑셀, 워드프로세서 - Windows OS 대중화 2. 네트워크 기술 발전 - 월드 와이드 웹(www) 인터넷 댖ㅇ화 3. 오픈소스 운동 활성화 시작 - LINUX(리눅스) 20년대 이후 1. 오픈소스 활성화 - LINUX 운영체제 - Apac..

    [운영체제 2] 시대별 흐름 및 핵심 기술 (1)

    1950년대 운영체제 X - 1개의 응용프로그램 실행시키기도 바쁨 - 응용프로그램이 시스템 자원을 제어 ENIAC : 첫번째 컴퓨터 1960년대 초기 프로그램 종류도 많아지고, 사용자도 많아지기 시작 * 배치 처리 시스템(batch processing system) 출현 - 여러 응용프로그램을 등록시켜 놓으면, 순차적으로 실행 - 배치 처리 시스템을 기반으로 운영체제 출현 -> ex) program 1, program 2, program 3을 등록해놓으면 1이 끝나면 2,3이 실행되는 시스템입니다. 배치 처리 시스템의 단점 1. 컴퓨터 응답시간(response time)이 오래 걸릴 수 있다. 2. 실행시간도 오래 걸릴 수 있다. 후기 시분할 시스템(Time Sharing System), 멀티 태스킹(M..

    [운영체제 1] 운영체제 역할 및 개념

    운영체제 역할 1. 시스템 자원 관리자 시스템 자원 = 컴퓨터 하드웨어 -> CPU(중앙처리장치), Memory(DRAM,RAM) -> I/O Devices(입출력장치) ex)모니터, 마우스키보드 네트워크 -> 저장매체 : SSD,HDD(하드디스크) 운영체제 역할 2. 사용자와 컴퓨터 간의 커뮤니케이션 자원 User ↔OS↔ 컴퓨터 하드웨어 운영체제 역할 3. 컴퓨터 하드웨어 + 프로그램 제어 응용프로그램이란 ? 프로그램 = 소프트웨어 소프트웨어 = 운영체제, 응용프로그램 ex) 엑셀, 파워포인트 등등 응용프로그램 = Application(PC) = App(스마트폰에서) 운영체제 목표 : 사용자가 사용하는 응용프로그램이 효율적으로 적절하게 동작하도록 지원 -> 운영체제는 응용 프로그램이 요청하는 시스템 ..