Kwonlog
로그인
Kwonlog
로그인
Intro to OS_운영체제(1)
조권휘
·
2022년 12월 28일
팔로우
0
OS
Operating System
운영체제
0
운영체제
목록 보기
1/14
Operating System
process : 실행중인 program(program in Execution)
disk controller, USB controller, graphics adapter : I/O devices
memory, CPU : Stored program Architecture
System BUS : 각 기기를 잇는 전선과 같은 것
Computer System Components
Hardware
기본 computing 자원을 제공(CPU, Memory, I/O devices, ...)
Operating System
S/W
여러 응용프로그램이 동작할 수 있는 환경 제공
H/W 자원들을 사용
hardware 자원을 관리하는 역할 : 경제성 / 공평성 / 효율성 / 편의성에 기반
Virtual machine과 같은 역할
System & Application Programs
compiler, database : system software
game, web browser, email, word process : application software
Users
실제 사용하는 사람 / machine / 다른 컴퓨터들
What is OS?
Application view(응용프로그램 관점)
응용프로그램을 실행할 수 있는 환경을 제공
computer system을 추상화(abstract)해서 제공
CPUs → process, Threads
Memory → Address spaces(Virtual Address Space)
Storage → Volumes, Directories, Files
I/O Devices → Files(ioctls)
Networks → Files(sockets, pipes, ...)
System view(OS가 전체 자원을 관리하는 관점)
다양한 자원을 관리
여러 장치들이 가급적 계속 일을 할 수 있도록 유지
Sharing : 여러 장치들이 서로 공유될 수 있도록 한다.
Protection : 각 process는 자신이 사용하는 영역(address space) 이내에서만 접근할 수 있도록 허용, 다른 process의 영역에는 침범할 수 없게 한다.
Fairness : 같은 조건에서 공평하게 자원을 사용하게 한다.
Efficiency : 자원을 가급적이면 오랜 시간동안 효율적으로 사용하게 한다.
Concurrency : 병행성, 동시에 여러 개의 process를 사용하도록 한다.
병행성 덕분에 자원들의 utilization이 매우 좋아졌다.
Implementation view (구현 관점)
interrupt handling
trap(S/W interrupt) : MS가 제공하는 특수 명령어로 interrupt 효과를 일의는 것
Highly-concurrent, event-driven software
OS는 완전하게 보호된 객체이기 때문에 interrupt 형태인 trap으로 접근을 해야한다.
system call : OS가 제공하는 기능
OS History
초기 system은 OS가 없이 작동되었다.
Batch processing systems(일괄처리)
Multi programming systems
Time sharing(Multi-tasking) systems
위의 4단계까지 기본적인 기능이 대부분 완성되었다.
Early Systems
OS가 없는 system
programmer에 의해 manual precessing이 진행
compiler/utilities 는 추후에 추가되었다.
Batch Processing Systems
일괄처리 방식으로 같은 작업을 처리하고, 거의 한 번에 한 개의 작업을 처리한 뒤 다음 작업을 진행한다.
punch card에 작업을 한다.
효율성이 매우 떨어진다.
offline processing이다.
Multi-programming Systems
concurrently하게 작업이 실행되었다.
memory segmentation
IO/CPU overlap이 가능해졌다. → CPU의 효율성이 증가
Job Scheduling, memory management, CPU scheduling, protection
Spooling(Simultaneous Peripheral Operation On-Lince) : 각 장치마다 I/O buffer를 제공, CPU와 I/O 동작 동시에 지원하는 기능
Time sharing system(Multi-tasking system)
time slice : OS에 의해 CPU time quantum이 한번에 하나씩 지급되는 것
Online process로 user와 상호작용을 한다.
Distributed Systems
network(internet) 기반으로 여러 computer들이 연결되어 있는 것
loosely coupled multi-processor system이라고도 불린다.
각 node는 각자의 local memory가 존재한다.
여러 자원을 효과적으로 공유하고 실행속도를 높이며 신뢰성을 높인다.
NFS, Cloud server..
H/W는 쉽지만 S/W는 어렵다.
Cloud Computing
Distributed servers + hyperbisor + virtual machines
Hypervisor : 가상화 지원 software
Saas : S/W가 자원으로 작동하는 것 이상으로 application으로 작동한다.
Iaas : infra structure를 제공하는 것
Embedded system
특수한 장치에 들어가서 특수한 목적을 가진 S/W
Mobility, battery, real-time systems, harsh environments..
조권휘
안녕하세요 :) Data/AI 공부 중인 한국외대 컴퓨터공학부 조권휘입니다.
팔로우
다음 포스트
Architectural Supports for OS_운영체제(2)
0개의 댓글
댓글 작성