Computing/Operating System

01 - 02 Intro [운영체제란?, 운영체제 개념과 구조]

i독 2021. 11. 7. 13:52

* 해당 게시물은 경북대학교 컴퓨터학부 강의초빙교수, 배준현 교수님의 강의를 보고 작성되었음을 미리 알려드립니다. ( 개인적인 공부를 정리한 글입니다. )

 

> 주니온 TV Youtube Channel. https://www.youtube.com/channel/UCOcPzXDWSrnaKXse9XOPiog

 

주니온TV 아무거나연구소

TMI Lab. 아무거나 연구소의 유튜브 TMI 지식나눔 채널 컴퓨팅 사고력을 키워 주고 코딩 지능을 길러 주는 자세히 보면 유익한 코딩 채널 주니온TV@Youtube 주니온 박사: 현) 경북대학교 컴퓨터학부 초

www.youtube.com

> 주니온 TV Inflearn page. https://www.inflearn.com/users/@joonion

 

주니온님의 소개 - 인프런 | 온라인 강의 플랫폼

인프런 지식공유자 주니온님의 소개 페이지 입니다. - 지식공유자 소개 | 인프런...

www.inflearn.com


[  ] 컴퓨터의 역사

컴퓨터의 할아버지 > Alan Turing - Turing machine.

 

현대적 컴퓨터의 구성은 Alan Turing 설계한 것과 다름 없다. > TMItalk : Turing machine 이해 참조. ( 주니온 TV Youtube channel)

 

컴퓨터의 아버지 > John Von Neumann - ISA(Instruction Set Architecture.)

내장형 컴퓨터를 처음 도입한 것이 Von Neumann 이다.

A stored-program computer is a computer that stores programs in a memory.

RAM 안에 Program 탑재하는데, CPU Program 갖고 있는 명령어를 RAM에서 Fetch execute한다.

이러한 fetch - execute cycle 가진 제안한 것이 Von Neumann이다.

 

[  ] 프로그램

A program is a set of instructions that tells a computer's hardware to perform a task.

 

[  ] 운영체제

 - Operating system is a program running at all times on the computer.

 - to provide system service to application programs.

 - to manage processes, resources, user interfaces, and so on.

> An operating system is a software that operates a computer system.

 

[  ] What Operating systems do.

- An operating system is a software that manages a computer's hardware.

운영체제는 어플리캐이션, 사용자 그리고 하드웨어의 중간 역할을 해준다.

 

구성요소를 4가지(하드웨어, 운영체제, 애플리케이션, 사용자) 본다면, 아래의 그림으로 나타낼 있다.

Figure 1.1 Abstract view of the components of a computer system.

[  ] Modern computer system.

Von Neumann architecture 따르지 않는 새로운 시스템은 Modern computer system이라 한다. ex) 신경망, 네트웍, 양자

* Von Neumann architecture > 명령어로 이루어진 프로그램

 - A typical instruction-execution cycle ( fetch -> execute )

 - The instruction is then decoded. ( 메모리에서 피연사자를 가져오고, 내부의 register 저장. )

 

[  ] Bootstrap.

- A bootstrap program is the first program to run on computer power-on and then load the operating system.

 

[  ] Interrupts.

- Hardware may trigger an interrupt at any time. > By sending a signal to the CPU, usually by way of the system bus.

Figure 1.3 Interrupt timeline for a single program doing output.

[  ] Storage system.

- storage capacity and access time 따라 다양한 종류로 나뉜다.

 

Figure 1.6 Storage-device hierarchy.

 

 

[  ] I/O Structure.

I/O 처리하기 위해서는 복잡한 Architecture 가지고 있다.

- A large portion of OS code is dedicated to managing I/O.

Figure 1.7 How a modern computer system works. (DMA = Direct Memory Access,  디바이스가   직접적으로   디바이스와  Contact)

 

[  ] Definitions of Computer System Components.

CPU - The hardware that executes instructions.

Processor - A physical chip that contains one or more CPUs.

Core - The back computation

Multi Core - Including multiple computing cores on the same CPU. = with several cores on the same processor chip.

Figure 1.9 A dual core design with two cores on the same chip.

Process Core - Including multiple processors. ( Multi Core 또다른 이름이라 생각하면 편함. )

 

[  ] Symmetric multiprocessing (SMP)

The most common multiprocessor systems.

- in which each peer CPU processor preforms all tasks.

Figure 1.8 Symmetric multiprocessing architecture.

 

[] Multiprogramming.

- Run more than on program at a time.

- Keeps several processes in memory simultaneously.

- to increase CPU utilization.

 

[] Multitasking.

- A logical extension of multiprogramming in which CPU switches jobs so frequently that users can interact with each job while it is running. = 멀티프로그래밍의 논리적 확장, CPU 작업을 매우 빨리 전환하면서, 사용자들이 작업 중에서 다른 작업과 상호 작용할 있다.

위의 개념은 concurrency(동시 실행) 라 부른다. Parallelism(병렬) 과는 다른 개념이다. > Chapter 3에서 자세히 다룸.

CPU가 하나이면서 여러 개의 작업을 동시에 처리하기 위해서 CPU Scheduling 필요로 하다. ( 목적은 CPU 효율을 최대한 높이는 .)

 

[] Two separate mode of operations.

It has user mode and kernel mode.

kernel do can't cause other programs to execute incorrectly.

Figure 1.13 Transition from user to kernel mode.

 

[  ] Virtualization.

Virtual Machine Manager 이용하여 다중 OS 실행. > VMM OS scheduling .

Figure 1.16 A computer running (a) a single operating system and (b) three virtual machines.

 

[  ] Operating System in the variety of computing environments.

- Traditional computing.

- Mobile ~

- Client-Server ~

- Peer-to-Peer ~ => bitcoin. (block-chain technique)

- Cloud ~

- Real-Time Embedded systems.

 

[  ] OS provides an environment for the execution of programs.

- User interface, Program execution, I/O operation, File-system manipulation,

  Communications, Error detection, Resource allocation, Logging, Protection and security.

 

Figure 2.1 A view of operation system services.

 

[  ] System calls in operating system.

- Provide an interface to the services made available by the OS.

- API = Application Programming Interface = System call 이란 OS API 이해하면 좋음.