Computers CS8-Midterm 2
(5.9 Troubleshooting)
Computers (desktops, tablets, smartphones, etc.) don't always perform as desired, instead exhibiting a problem. Example problems include: • The computer won't turn on. • The computer is slow. • The computer won't communicate with a printer or other device. • An app won't run, or runs and then exits. • An app is behaving badly, such as showing popup ads. By far the most common solution to computer problems is simply to restart the computer (and/or other device), or restarting just the failing application. The reason such a restart commonly works is that bugs exist in nearly all computer software, including applications and operating systems. The longer that software runs, the more likely that a bug will be encountered that causes the software to run poorly, to use up excess memory, etc. Most computers today go into a "sleep" mode when shut or turned "off", so the normal process of ending a working session with a computer is not sufficient—a restart may require a more deliberate set of steps. TRUE/FALSE -The most common solution to a computer problem is to restart the computer or failing application=TRUE. Nearly all software has bugs, so prolonged use without restart can result in the software running poorly. Restarting the computer or application clears data from the RAM and typically reinstates the software to a functioning state. -Multiple methods exist to restart a computer=TRUE. Users can restart a computer through the computer's menu, a series of keyboard shortcuts, or by pressing and holding the power button. -Switching to "sleep" mode will restart a smartphone's apps=FALSE. "Sleep" mode is a power-saving mode that shuts off the display and resources that are not in use. Apps may continue to run while a device is in sleep mode. Ex: A fitness app will continue to track steps while the device is in sleep mode. - Pressing and holding the volume button on a smartphone will restart the device=FALSE. Smartphones typically require a sequence of deliberate steps or simultaneous button presses to initiate a restart. The restart process varies by device, so a web search can yield specific instructions. *Obviously, not all problems are solved merely by a restart. Troubleshooting is a process of determining the cause of a computer problem, and ideally solving the problem. Experienced troubleshooters may follow a methodical two-step troubleshooting process: 1.Predict a probable cause of the problem, and 2. Test the prediction by doing something to confirm or deny the prediction. If not confirmed, repeat step 1 (possibly with a different prediction). Many people instead haphazardly try various things, without following such a process. -A two-step process can help find the cause of a problem. First, predict a probable cause. Predict: No electricity in the house.Second, test the prediction. Test: Try another electric item. In this case, the test denies the prediction Repeat the two steps. Predict: The bulb is burned out. Test: Replace the bulb. Denied. Repeat the two steps: Predict: Not plugged in. Test: Inspect plug. Confirmed. *Predicting a problem's cause requires knowledge. Ex: If a lamp doesn't turn on, knowledge that a lamp must be plugged into an electric outlet enables a prediction that maybe the lamp is unplugged. If a user runs out of predictions, the user must seek more knowledge, such as by discussing the problem with friends, or by searching the web. Search for the problem, like "Light bulb won't turn on" often leads to sites that discuss possible causes and solutions, like the site: "10 reasons why your lights don't work." With the new knowledge, a user might generate a new prediction. TRUE/FALSE -Most people naturally carry out a two-step methodical troubleshooting process of: (1) Predict a problem's cause, and (2) Testing to confirm/deny the prediction=FALSE. Many people instead haphazardly try various things, without following such a process. A haphazard approach may not lead to solving the problem. -In the two-step troubleshooting process, given three equal predictions of a problem's cause, a user likely should first consider the prediction that is easiest to test=TRUE. If the easiest test confirms the problem, then harder tests can be avoided. Ex: First checking that a lamp is plugged in is likely easier than changing the bulb. -The longer that an app has been running, the more stable and reliable the app becomes=FALSE. Apps have bugs. As such, the longer an app runs, the more likely that a bug has been encountered that may destabilize the app, perhaps using up excess computer memory. - Because bugs in long-running apps are so common, restarting a computing device often solves problems=TRUE. As such, when troubleshooting, a common first prediction is "Bug in app" and so a common first test is simply to restart the device. Such a restart may solve problems in desktops, tablets, smartphones, routers, modems, and more. -A smartphone will not make a call. The user predicts an app bug, and thus restarts the smartphone to test the prediction. Calls now work. The user can reasonably assume the test confirmed the prediction. TRUE. The smartphone was likely in a strange state due to a bug. Bugs are very common in software apps. While the restart doesn't prove the problem was a bug, the user is reasonable to assume such. -A smartphone's display indicates a headphone is plugged in when no such headphone exists. The user tries a restart but the problem persists. Lacking any other prediction, the user searches the web for "Phone thinks headphones are plugged in". The user has violated the troubleshooting process=FALSE. When out of predictions, the troubleshooting process involves seeking more knowledge. Searching the web is a common source of knowledge; talking to friends is another.
Chapter 6 (6.1 Video) and (6.2 Wikipedia)
One of the most powerful evolving features of the Internet is the ability to easily share videos. Previously, most videos recorded by an individual would be viewed by just a handful of friends and family. Today, an individual might create a video that becomes viewed by millions of people. Videos of newsworthy events (accidents, police brutality, protests, etc.) have had huge impacts on people's attitudes, creation of laws, and more. And videos of funny cats have entertained millions. YouTube is the most widely-used video-sharing website, which allows users to upload videos, supports easy search of videos, and suggests other videos related to a watched video. YouTube was started in 2005 by three former PayPal employees, grew rapidly, and was purchased by Google in late 2006 (for $1.65 billion in stock). In 2013, YouTube accounted for about 18% of all Internet traffic, second only to Netflix's 30% (source). Another popular video-sharing website is Vimeo, which tends to host more professional-looking videos. Vimeo was started in 2004 by entrepreneurs Jake Lodwick and Zach Klein. Other sites where users share video include Facebook, Vevo, Instagram, and Twitter. Video sharing sites earn much revenues through advertising. Some ads are text ads placed near videos. Others are short videos that play before the actual video plays. YouTube's ad revenues were about $1 billion in 2014 (source). By associating a Google AdSense account with a YouTube account and activating a video for "monetization," a video poster can earn about $1 to $3 per 1,000 views; a video that gets 1 million views thus might earn the poster 1,000,000 views * (2 dollars / 1,000 views) = 2,000 dollars. -YouTube allows people to post videos primarily to: earn ad revenues. YouTube charges advertisers who show videos before the requested video or display text near the video. How can a person earn ad revenue from a video posted to YouTube? By associating a Google AdSense account and enabling the video for monetization. The user needs to spend a few minutes setting up videos to earn money. YouTube's ad revenues were nearly 1 billion in 2014. YouTube is one of the most successful advertising sites in the world. Streaming means to play video directly from the Internet in a web browser or other app without ever storing the video on a device. In 2014, streamed video accounted for more than half of all Internet traffic, mostly from Netflix and YouTube. The largest movie and TV show streaming company in the world is [Netflix], whose traffic accounts for over 30% of all Internet traffic (source). Netflix started in 1997 as a DVD rent-by-mail company (a DVD (digital video disk) is a physical disk that can store a movie and is played using a special DVD player). With the rise of faster Internet access in homes, Netflix introduced streaming in 2007, which dominates the company's revenues of $5 billion in 2014, earned largely through a monthly subscription fee (about $9/month in 2014). Other movie/TV-show streaming services include Hulu Plus (mostly TV shows, about $8/month), Amazon Instant Video (about $99/year, or per-item purchases), and Apple's iTunes (per-item purchases). Streaming video has become a serious competitor to traditional, cable, and satellite TV. You don't have to have a computer for streaming, you could use a smart phone. In 2010, most movie and TV show streaming was done using a computer like a desktop or laptop PC. However, as streaming grew in popularity, small inexpensive boxes to stream movies from home WiFi to a TV became popular, such as Apple TV, Google Chromecast, Roku, and Amazon Fire. Furthermore, smart TVs have evolved that can connect to a home's WiFi network and thus directly stream movies. TRUE/FALSE -Netflix was started in 1997 as an Internet video streaming company=FALSE. The Internet was in its infancy in 1997. Netflix was started as a DVD rental company, sending DVDs by mail to customers. Computer and Internet companies commonly must reinvent themselves to stay relevant; the DVD rental business is almost dead. -Hulu's emphasis is TV shows=TRUE. Hulu provides access to recently-aired TV shows. Revenues are from a small subscription fee for "Plus" service that provides access to more distantly-aired shows, plus revenues from short ads during the shows. -Apple is likely eager to sell Apple TV boxes because the $50 to $75 price per box (2015) translates to huge profits=FALSE. That price barely pays for the box's hardware. Instead, Apple can then promote sales of movies and TV shows via the box, as well as gaining revenues from fees charged to other streaming services available on the box. Google and Amazon are similarly striving to dominate the territory. -Amazon is best known as a video streaming company=FALSE. Amazon is best known for selling physical goods. Amazon more recently expanded into streaming movies and TV shows, seeing the potential for profit. The Amazon Fire box for WiFi streaming not only helps increase Amazon's movie and TV show streaming sales, but likely will make online shopping at Amazon.com easier too. >6.2 Wikipedia *Wikipedia is an example of how the power of the Internet can be harnessed. Wikipedia is a free, online encyclopedia composed of crowd-sourced articles, begun in 2001. The name Wikipedia is based on a combination of the words "wiki" and "encyclopedia". A wiki is a website that enables collaborative development of content. Anyone can create, edit, or improve a Wikipedia article. In 2012, Wikipedia had about 2 million volunteers worldwide, actively contributing to over 35 million articles, appearing in more than 280 languages (Source: Wikipedia Statistics). Wikipedia is usually among the top-ten most widely-visited websites in the world. A Wikipedia article is often among the first results of a web search. TRUE/FALSE -Wikipedia is a subscription-based online encyclopedia=FALSE. Wikipedia is a free online encyclopedia comprised of millions of user-contributed articles -A user must be invited to edit a Wikipedia article=FALSE. Wikipedia encourages all users to create and edit content. Users simply click on "Edit" to add or update content. -A wiki enables multiple users to edit content=TRUE. Wikis enable quick development of content due to the collaborative nature of the platform. "Wiki" comes from the Hawaiian word for quick. In past decades, encyclopedias were expensive items costing hundreds or thousand of dollars. Popular encyclopedias included the World Book and the Encyclopedia Britannica. The high cost was due to the thousands of paid authors and editors needed to research and develop the encyclopedia's articles. A family might save for an encyclopedia set, often buying one volume at a time (ex: buying one volume/book whose topics start with "A", then the next month "B", etc.), keeping the set of many years. Students would commonly go to a local library or school to gain access to a encyclopedia. Wikipedia's wiki-based model is very different. A community of users write and refine Wikipedia's content; users do not need to be an expert in a particular area to contribute. Crowdsourcing is an approach to developing content that involves having the users (the "crowd") be the contributors, rather than using highly-paid professionals. Wikepedia's crowdsourcing approach not only enables Wikipedia to be free, but also has led to far more articles than found in professionally-produced encyclopedias. The 2013 Encyclopedia Britannica (now available free online) had 40,000 articles, while Wikipedia has over 4,000,000. The approach has also led to articles that essentially summarize news events as they happen, serving as a complement to news stories that tend to only cover the most recent unfoldings of an event. Ex: The article on the 2011 Japanese Tsunami evolved as events unfolded, and is now a thorough summary based on over 350 news stories that are referenced at the article's end. Some people question the quality of articles developed by the crowd. Generally, articles on widely-read subjects seem to evolve into good quality articles via refinement by the large number of users (Study: Wikipedia vs. Britannica). However, for some articles, especially lesser-read articles (which likely would not have had entries in a professional encyclopedia), quality can indeed vary tremendously, and such articles are often incomplete also. Errors in Wikipedia articles are typically found and corrected by users. For widely-read articles, the user community seems to do a reasonable job shaping content into good quality articles. However, a tradeoff indeed exists between professionally-maintained and crowdsourced content, the latter having more varied quality but having many more articles and being free to users. Nupedia, a free online encyclopedia, is considered the predecessor to Wikipedia. Volunteers wrote articles, which were then peer-reviewed by experts to ensure only high-quality articles are published. Due to the extensive reviewing process, Nupedia published only 21 articles in the first year (Source). Wikipedia was introduced to enable the development of collaborative articles via a wiki, which would then be peer-reviewed by experts and published by Nupedia. Wikipedia's collaborative authoring platform quickly outpaced Nupedia, releasing 200 articles in the first month and 18,000 articles in the first year. Wikipedia was formally launched in January 2001. In 2015, Wikipedia was the 6th most popular website in the world. The Wikimedia Foundation is a non-profit organization known for hosting Wikipedia. Wikimedia's mission is to support wiki-based projects to provide free educational content. Wikimedia hosts a number of additional sites including Wikibooks (textbooks), Wikimedia Commons (images, videos, sound), Wikivoyage (travel guide), Wikiversity (tutorials and courses), among others. Unlike many free websites, Wikimedia does not rely on ads for revenue and instead relies on annual fundraising campaigns. Fundraing banners are posted each year asking users for donations. In 2013/2014, the fundraising efforts raised $51 million (USD).
Chapter 5 (5.6 Video player apps) and (5.7 PDF Viewer) -(5.8 Compression) JPEG=Images IMPEG=Video
Video is a series of slightly-differing images shown fast enough to appear continuous to humans. Each image in video is known as a frame, and the number of frames per second (fps) is the frame rate. Digital video stores each image as rows and columns of colored dots, each dot known as a picture element or pixel. Standard video uses about 24 frames per second, and each image has 525 pixel rows (known as lines). Compared to standard video, high-definition video uses more frames per second (like 60) and more lines (like 1080), as well as wider lines. -Video files are the largest media files. 24 images per second. Compression always used for video imped MP4 standard on the web. HTML standard. Video files can be quite large. If a single image required 1 MB, then at 30 frames per second, 100 minutes (a common movie duration) would require 100 min * 60 sec/min * 30 frame/sec * 1 MB/frame = 180,000 MB or 180 GB. Common video file formats, such as MP4, H.264, or MOV, differ in how compression is used to reduce video file size. The key idea of video compression is to only store some frames completely, with most other frames stored as the difference from the previous frame (in a video, such differences between successive frames are typically tiny). Video compression usually loses some quality. After compression, a 100 minute movie may only require 5 to 10 GB. Most devices that record video do compression while recording, and devices that play video automatically decompress. >Questions -Video consists of a series of images known as frames. Each frame only appears briefly, and successive frames have only slight differences. -For a human to not notice each frame in a video, the frame rate should be at least 25 frames per second. The human visual system can't see each frame at that rate, so the images appear like a continuously-moving scene. -Because video files could be large, compression is used. The main idea of compression is to only store the difference between a frame and the previous frame. Typically things only move or change color slightly in the fraction of a second that separates successive frames. -An example of a compressed video file format is an MP4 file. MP4 is one of several common compressed-video formats. -A file with a .mov suffix likely represents a movie file of the MOV format. The MOV format is a format used by Apple. *AVI (Audio Video Interleave) (file suffix .avi) is one of the oldest video formats, developed by Microsoft in 1992. Widely supported, but compression and video quality may not be as good as others. *Flash video (file suffix .flv or .f4v) is a video format primarily designed to play in Adobe's Flash Player. Flash video is popular today in part due to wide use by YouTube. *WMV (Windows Media Video) is a video format developed by Microsoft for streaming video via the Internet. File sizes are typically small but quality may be poor. A special player may be needed for viewing on non-Windows devices. *MOV (Apple Quicktime Movie) is a video format developed by Apple for their Quicktime video player. The format is known for having high compression while maintaining quality. *MP4 is an international standard video format, since the early 2000's. MP4 is similar to the MOV format, known for having high compression while maintaining quality. MP4 is growing in popularity due to being made part of HTML5, meaning most modern web browsers can play MP4 video. A video player app reads a video file, decompresses, and displays frames at the appropriate rate. Most modern devices have a built-in video player app, such as Quicktime on Mac and iOS devices or Windows Media Player for Windows devices. A video player app can sometimes save a video file in different formats, such as MOV or MP4. A video player app usually doesn't support all video file types. Some users choose to download video player apps rather than use a built-in app, with numerous apps available in app stores. The free VLC app is a popular download for Mac and WIndows machines due to supporting nearly all common video file formats. [Streaming] means to play video directly from the Internet (such as from YouTube, Netflix, etc.), using a web browser or other app, without ever storing the video as a file on a device. Streamed video is viewable immediately but requires a good Internet connection. Stored video can be viewed with a weak Internet connection or when offline entirely, and sometimes may be higher-quality video. Purchased videos that are stored rather than streamed, such as when purchased from an app like iTunes, often include additional features known as digital rights management (DRM), to discourage unauthorized copying. *Having so many different video file types is wonderful for computer users.Type: true or false. FALSE=Having just one standard format would be much better for users, who would then not have to worry about whether a video file would play on a particular device. But different formats evolved due to historical reasons; perhaps in the future the community will settle on one format. >5.7 PDF viewer PDF (portable document format) is a file format for storing documents (typically formatted text, images, and drawings) independently of any particular editing app like a word processor. A file that is useful across different applications, computers, or operating systems is said to be portable. PDF was originally created by a company called Adobe Systems and published in 1993; PDF was initially proprietary but as of 2008 became freely usable. Prior to PDF, a document created using one app like Microsoft Word, Adobe Illustrator, etc., could not be viewed on or printed from a computer that didn't have that same app. PDF viewing apps are common and usually free and thus included on nearly device today. Always the same and can be viewed and printed everywhere. TRUE/FALSE -The Microsoft Word app normally stores files as PDF. FALSE=Microsoft Word has a specific file format for Word documents. That file may not be viewable on systems that don't have the Word app installed, such as on a smartphone. -Saving/printing a Microsoft Word document as PDF creates a second file=TRUE.The Word document is stored in a file with a .doc or .docx extension. The second file will be a PDF file that will usually have a .pdf extension. -Microsoft Word is required to create a PDF file=FALSE. Many apps are used to create or view documents, such as a web browser, drawing program, photo viewer, etc. Most such apps today support saving or printing to a pdf file. -A PDF file's key benefit is that the file can be viewed on and printed from nearly any device=TRUE. PDF viewing apps exist on nearly any modern device, making a PDF file very "portable". If a PDF viewer app doesn't exist on a device, a free app can usually be easily found and installed. -PDF viewer apps tend to be expensive=FALSE. In contrast to more expensive programs like MS Word, PDF viewer apps are widely available and most are free, which is a reason why PDF is so popular as a document file format. >5.8 Compression Compression reduces the size of a file. Ex: An image/photo file may be 4 megabytes before compression, but only 1 megabyte after. Compression enables a user to store more files on a drive. Compression also speeds up transfers of files via the Internet. Compression can be applied to any file, but is commonly applied to audio, image, and video files because such files are naturally large. Most apps for such files automatically compress and decompress those files. -Compression reduces the size of a file. -Compression enables more files to be stored on a drive. -Compression also speeds up file transfers, like web downloads. TRUE/FALSE -By reducing a file's size, compression enables more files to be stored on a drive=TRUE. Users of devices like laptops, tablets, and smartphones, commonly fill the device's drive with music, photos, videos, books, etc. -Compression has the drawback of increasing the time to download a file via the web=FALSE. Actually, a compressed file has fewer bits so downloads more quickly. Such faster downloading better enables live streaming of audio and video too. *A common approach to compressing data in a file is to create a custom dictionary for that data. In compression, a dictionary is a table of shorthand versions of longer data. Ex: Given a dictionary of 1: Department, 2: of, and 3: Redundancy (1, 2, and 3 are the shorthand items), then "1 2 3 1" is short for "Department of Redundancy Department". The compressed file will contain the dictionary itself plus the data in shorthand form, which combined is hopefully smaller than the original file. A typical text file might be compressed by 50% or more. An LZ compression algorithm (named for creators Lempel and Ziv) examines data for long repeating patterns such as phrases, and creates a dictionary entry for such patterns. Alternatively, a Huffman encoding algorithm measures the frequency of each data item like each letter, and gives the most frequent items a shorter bit encoding (like the letters "a" and "e"), with least frequent items getting a longer encoding (like letters "q" and "z"). Many compression techniques combine LZ and Huffman algorithms. -LZ compression algorithms search for repeating patterns, creating a dictionary entry for each. The compressed file contains the dictionary, and the data in shorthand.The compressed file, having both the dictionary and the shorthand data, may be smaller. Compressions of 50%-90% are common. *A zip file is a common file format for combining multiple files into one file and that usually involves compression. Ex: Using a zip app on a Mac, a 4 kbyte file named index.html was converted to a 2 kbyte file named index.html.zip. -A zip file is commonly created to collect multiple files into a single file=TRUE. Such a file typically ends with .zip. Having a single file enables easy transfers like via email or the web. -The process of creating a zip file may compress the file's contents=TRUE.Compression is commonly done automatically by apps that create a zip file. *Lossless compression loses no information, so that decompression yields an identical file to the original. LZ and Huffman approaches are lossless. Lossy compression loses some information, so the decompressed file is close but not identical to the original. Lossless compression-can always get it back. An example lossy compression approach is rounding. Ex: Given an original file containing 255, 64, 231, the one's place can be dropped (a form of rounding), yielding 25, 6, 23. A decompressor, knowing of the rounding but not knowing what numbers were dropped, may append 5's, yielding 255, 65, and 235, which is close but not identical to the original. Lossy compression may be OK for data like images or audio where humans barely notice a quality difference, but is clearly not OK for precise data like text or bank account numbers since the meaning would change. TRUE/FALSE -Lossy compression means that some files that were to be compressed were lost=FALSE. Lossy means that some Lossy compression is acceptable for a file containing music for casual listening. -Lossy compression is acceptable for a file containing music for casual listening=TRUE.Loss here means that some of the audio won't sound as sharp as possible. Most people don't notice low amounts of loss. Higher amounts of loss leads to poor-sounding music. -Lossy compression is acceptable for a file containing phone numbers=FALSE. If the numbers aren't exactly preserved, the decompressed file may have wrong numbers. Lossy compression can get compressed smaller but won't be able to get back those files and the quality isn't as good. -Compression is not possible unless loss of information is acceptable=FALSE. Some compression is lossless, such as dictionary approaches. Loss just allows for more compression, at the expense of lost information (which is sometimes acceptable, as for audio and video). *JPEG is a compression approach specifically for [images]. An image may consist of millions of pixels (short for "picture elements"), each pixel being a colored dot. A pixel may be 3 numbers (each a byte) indicating the amount of red, green, and blue. If an image has 4 million pixels, and each pixel requires 3 bytes, then a single uncompressed image is basically just a series of 12 million numbers (so 12 Mbytes). JPEG compresses the image using several techniques. • One is to convert to the "frequency domain", which is beyond this material's scope. • A second is to use Huffman encoding. Ex: An image with a lot of bright pixels may have millions of "255" values for pixel colors. 255 in binary is usually 11111111, but Huffman encoding may create a dictionary entry like 01: 11111111, so those millions of 11111111's can be replaced by 01's. • A third compression approach is to round the numbers, known as quantization. So a pixel of 255 red, 64 green, and 231 blue (which is a shade of purple) may become 25, 6, and 23. Decompression might append a 5, yielding 255, 65, and 235, which is an unnoticeably different purple than the original. (Note: The conversion to frequency domain would modify the discussion of the latter two steps, but the intuition is the same). JPEG is lossy compression, due in part to the rounding (as well as conversion to frequency domain). Image apps may allow a user to reduce file size, achieved by losing more information, such as by doing even more rounding. The loss in quality may not be noticeable unless the image is enlarged. -JPEG is a lossy compression approach for images. JPEG compression may result in an image with a slightly different appearance, but these variations are seldom noticed by a human. -Quantization is a compression approach where pixel values are rounded. Ex: 145 is rounded to 14 by dropping the one's place. Quantization may round pixel values by dropping the one's place, resulting in pixel values that can be stored with fewer digits. Decompression appends a value back to the dropped position before displaying the image. *MPEG is a compression approach specifically for [video] (a recent well-known version of MPEG is MP4). Video is a series of images called frames. If shown faster than about 15 frames per second (movies use 24, TVs use 30 or more), a human's vision system sees the images as a continuous video. The key idea of video compression is that successive frames differ only slightly, so a frame can be represented just as the difference from the previous frame. Ex: Frame 1 may be a full image, but Frame 2 may just be "Previous frame shifted left 2 pixels". Clearly not all frames can be represented as the difference of another frame. Thus, such video compression sends an image frame and then perhaps 10 "predicted" frames, followed by another image frame. Note: Image frames are also compressed using image compression like JPEG. H264 is a more recent video compression approach than MPEG, intended to reduce bits further for fast transmission of video over networks. Video compression is lossy, in part due to the images being compressed using JPEG (which is lossy), and more so because predicted frames clearly aren't entirely accurate. Video apps may support different quality levels, with lower quality achieving smaller file sizes via use of more predicted frames and more-compression of images too. Video compression amounts of 50x-100x or more are common. -A video consists of a woman sitting and presenting the news. Is this video amenable to extensive compression? YES. Each frame is likely very similar to the next frame, so predicting frames is likely to work well. -A video consists of a car exploding. Is this video amenable to extensive compression? NO. Each frame is likely very different from the previous frame, so predicting frames from other frames probably won't work well. People watching sports may notice that the video looks sharp when action is slow, but gets slightly blurry when action is fast -To compress video, an app reduces frames per second to eight. Will the video quality be acceptable? NO. At 8 frames per second, the human vision system can see each frame; the video will look very "jerky". Frames per second should be about 15 or higher (actually, about 12 is the minimum) for the human vision system to see the frames as smooth video. -Was H264 created before MPEG? NO. H264 was created more recently, intended to achieve higher compression to support streaming of video over networks, such as streaming to a smartphone today. *MP3=Most Common for Audie and OGG are audio compression techniques. Audio is captured electronically as varying voltages on a wire. Those voltages are converted to numbers for digital storage. An uncompressed 3-minute song may require tens of megabytes. A WAV file stores audio uncompressed. MP3 and OGG compression use techniques (introduced above) like converting to frequency domain, quantization, and Huffman coding. A 3-minute song may be compressed to just a few megabytes. MP3's name comes from MPEG, as MP3 was used for compressing the audio part of video files. OGG was developed as a free open-source audio compression technique.
Chapter 6 (6.7 Blogs) and (6.8 Cloud Storage)
A blog is a website organized into entries with the latest entry at the top. A post is an entry in a blog. Some blogs focus on a theme such as news, finance, electronics, or lifestyle posts. A blog may be written by a single person, a small group of people, or by a company. Individuals often create blogs to share particular life experiences with family and friends, such as a person sharing thoughts during the first year of raising a baby, or a woman sharing a personal journey after receiving a diagnosis of breast cancer. A blogger is a user who writes a blog. Popular blogs include: • Dooce is written by Heather B. Armstrong, a professional blogger, who posts about her life. (Link) • Kottke posts interesting links and articles on topics such as product and graphic design, film, music, art, and sports. Kottke is maintained by Jason Kottke with occasional guest editors. (Link) • LifeHacker posts useful tips and guides on various topics: exercise, personal finances, home improvement, and cooking. Lifehacker is a company with numerous contributors and editors. (Link) *WordPress.com, Blogger.com, and Tumblr.com are popular websites that provide services to users to create and share blogs. WordPress is common software for generating the underlying source code for displaying and managing blogs. Users apply themes, which contain predefined color palettes and text formatting, to give the blog a consistent look. Users can also expand the blog's functionality by adding plugins. A plugin adds a feature, such as a discussion board or social networking. WordPress.com is a website that runs the WordPress software and provides hosting services for blogs, providing a URL like YourBlogsName.wordpress.com. Other sites also run WordPress software, and the software can be run on a local computer too. >6.8 Cloud storage Cloud storage is the storage of files on remotely-located servers, with those files being managed by apps via the web. Cloud storage has several advantages over storing files solely on a local computer drive: • Local storage is limited. Moving lesser-used files to cloud storage, such as large video files, can make room in local storage for more regularly-used files. • Files on cloud storage can serve as a backup. A backup is a copy of a file kept in case the local version is accidentally damaged or lost. • Files on cloud storage can be accessed by various user devices and from various locations. Cloud storage services are relatively easy to set up and usually low-cost, often starting free for an initial amount of storage, then charging for additional storage. Popular cloud storage services include: Dropbox, Google Drive, and iCloud. *Backup services are available that automatically copy files from local to cloud storage. Popular backup services include Carbonite and iCloud. A backup service automatically deletes files from local storage, moving such files to cloud storage=FALSE. Backup services usually copy files, keeping the local file in place. Backups are useful in case the original is file is accidentally damaged/destroyed. A wise computer user ensures important files have backups.
Chapter 5 (5.4 Databases) and (5.5 Audio Player Apps)
Data is a collection of facts and values. Ex: 23, 35, 48 is data. Information is processed data and gives meaning to the facts and values. Ex: 35, 39, 40 are the number of sweaters sold by a store over the last three weeks. A database is a collection of data organized to enable efficient information retrieval. A company may use a database to gather information regarding current inventory or to forecast trends. A database may be on a local computer, but is commonly kept by a network server. A database management system (DBMS) is an app that creates, maintains, and accesses database systems. Popular DBMS' include MySQL, Oracle Database, and Microsoft Access. Common database operations include: • Adding new data • Editing existing data • Deleting data • Querying the database for information. A query is a search in a database for data. The following is a list of names in a table: Smith, Johnson, Williams, Brown, Jones. The names are an example of data. Data is a collection of facts and values, which can be in stored in various formats such as names, characters, and numbers. Given a list of names in a table, the following are all names starting with letters in the range A-K, and the number of such names: Johnson, Brown, Jones -- 3 The names and number are an example of data. Information provides meaning to data. A DBMS is an app that interacts with a database. DBMS provides an interface to create, maintain, and access the database. The DBMS can provide different interfaces to employees, customers, or other apps. A query searches the database for entries matching user defined criteria. A query is a search in the database. Users can search for entries matching keywords, IDs, or other criteria. There are several kinds of databases. Each kind of database is characterized by the method data is organized. A relational database stores information in tables composed of rows and columns. Relational databases contain the following: • Field (column): Basic unit of data stored -A field name typically describes the data stored. • Record (row): A group of related fields. Each record has a primary key. • Primary key: A record's unique identifier • Table: Collection of related data *Summary: A relational database consists of tables of records related by common fields, allowing for efficient information retrieval. In addition to relational databases, two other kinds of databases are common. Multidimensional databases store data in more than two dimensions. For example, a multidimensional database may contain multiple inventory tables with time as another dimension. An object-oriented database stores data as a collection of objects rather than tables. An object may consist of an ID, photo, and title, while another object may consist of a ID, video clip, and runtime. *SQL (Structured Query Language) is a popular language to run operations on databases. SQL became a standardized language in 1986 and is used in a number of DBMS' such as Oracle Database and Microsoft Access. MySQL is a freely available database system that uses SQL. MySQL is a popular database for web apps.Users or programs access the database through a set of operations. The SQL "INSERT INTO" operation adds new data to the database. Users specify the name of the table to which new data is added, the fields for which data is being specified, and the value of each field. The SQL "SELECT" instruction queries the Inventory table for any recording matching the "WHERE" criteria. In the first example below, the query returns all fields (as specified by the * operator) of records whose Category field contains 'Watch'. The first two records contain 'Watch' in the Category field. As a result, the values of all fields corresponding to the first two records are displayed. Which SQL instruction adds a new record to the database? INSERT INTO...In addition, the user specifies table to which the data is added and the value of each field. Decisions are often made based on the information extracted from a database, so the data must be reliable. Data integrity refers to the accuracy of the data in the database. Validation ensures data is correctly entered as the data is added to the database. Periodic updates to the database ensure data is up-to-date. *Data integrity refers to the accuracy of data. Databases must contain data that is correct and timely, otherwise the information is not useful. (BAD DATA). *A process called validation rejects the request to add the following entry to the database. Something you can do to check and make sure DATA is GOOD. Enter item cost: $A.78. Validation may check the type of data, acceptable ranges, or for completeness. $A.78 is rejected because the data is not a valid cost. >5.5 Audio player apps [Analog converted to Digital] Audio, or sound, is the vibration of air molecules that human ears can detect. Audio is naturally an analog signal, meaning the signal changes continuously over time, like a flowing river. Because computers can only store 0's and 1's, a computer records audio as a digital signal, meaning as a series of numbers—digital means countable like a hand's fingers (fingers are also known as "digits", hence the word "digital"). A microphone converts vibrating air into an analog electrical voltage on a wire. An audio recording app may then rapidly "sample" that voltage (44,100 samples/second is common for music), using hardware called an analog-to-digital converter to convert each sample to a number, and storing the numbers in a file. An audio file is basically a series of numbers of sampled audio voltages, along with the sampling rate. An audio player app plays an audio file such that the audio can be heard, by sending numbers one at a time to a digital-to-analog converter, at the specified rate. TRUE/FALSE -A microphone converts sound into an analog signal=TRUE. A magnet's vibrations within the microphone create varying voltage levels on a wire. -A computer records audio as an analog signal=FALSE. Audio recording apps use an A2D converter to translate the analog voltage value into a number, which can then be stored by a computer. -An audio recording app samples the voltage produced by the microphone=TRUE. A common sampling rate for music is 44,100 samples per second. The app samples sound at a fast enough rate that the sound seems continuous to humans. -An audio file stores a song's notes=FALSE. An audio file stores the sampling rate and a series of numbers of sampled audio voltages. Audio files may be large. If each sample's number requires two bytes, the sampling rate is 44,100 samples/second, and a song is 3 minutes (180 sec), then a song's audio file would require about 180 sec * 44100 samples/sec * 2 bytes/sample = 16 MB (megabytes, or million bytes). Audio files are usually stored in compressed form (discussed in another section) to reduce file size. As such, a typical song file might only be about 4 MB. Common compressed audio file formats include mp3, AAC, and AIFF. A common uncompressed format (primarily for Microsoft Windows PCs) is the WAV format. >Audio file storage Assume each audio sample is stored as one byte and the sampling rate is 48,000 samples/second. What is the size of a 2 minute audio recording? 120 sec * 48,000 samples/sec = 5.8 MB. 48,000 samples/sec is the sampling rate used for digital videos. Answer: 120* 48,000*1=5.8 MB Which is NOT an audio file format? *pdf is not an audio file format, but rather is a portable document format for storing formatted text and images. Humans can only hear frequencies up to about 20,000 Hz. To capture audio frequencies that humans can hear, an audio sample rate should be at least double that frequency. Thus, music audio frequency sampling rates should be at least 40,000 HZ. A common sampling rate is 44,1000. *Popular computing devices come with audio player apps, such as iTunes (comes with Macs, iPhones, iPads, and other Apple products), the Music app or Windows Media Player (for Microsoft Windows products), and a built-in music player for Android devices. Most common for compressing is the MP3. -Popular computing devices also come with apps for audio recording, such as Quicktime or Garage Band for Macs. -Apps for editing audio files such as getting excerpts or mixing music are also available, such as Garage Band for Macs, or the free Audacity app. TRUE/FALSE -Most computers, including tablets and smartphones, come with an app for playing audio=TRUE. Playing music is so common that nearly any device will have an audio playing app built-in. -Most computers, including tablets and smartphones, come with an app for editing audio=FALSE. Editing audio is far less commonly done than playing audio. A user wanting to edit audio may need to first install an audio editing app. Many free audio editing apps exist for nearly any computing device.
Chapter 4 (4.3 OS Stories) *Know how Windows and Mac got started. Mac OS was the first graph interface.
Interesting stories underlie some of today's most common operating systems. Microsoft, Gates, DOS, and Windows One interesting story is how an OS led to Microsoft's "accidental" rise to become one of the world's largest companies and Bill Gates one of the world's richest men. Bill Gates and Paul Allen were high-school friends. While Bill was in college and Paul a programmer, they learned about new low-cost microcomputers—today's PCs. Gates and Allen thus started Microsoft (short for Microcomputer Software) in 1975 to create and sell an implementation of the BASIC high-level programming language for a particular PC of that time. At the time, IBM was known for building large business computers. IBM asked Gates for an operating system for the IBM PC, but Gates declined—perhaps because a PC's operating system back then was just a boring small piece of software, whereas BASIC seemed like the future of software. Gates referred IBM to another company, but no deal was made, so IBM returned to Gates. This time, Gates purchased an existing OS (originally named QDOS for Quick and Dirty Operating System) from another company for $50,000, and introduced the OS as MS-DOS in 1981. BASIC turned out to be relatively unimportant, whereas MS-DOS use grew to millions of users within a few years, eventually leading to the Windows graphical OS (originally built on top of DOS). One may find interesting that the opportunity that made Microsoft into one of the world's large companies was initially declined by Gates and considered relatively unimportant at the time. TRUE/FALSE -Microsoft was formed to build operating systems=FALSE. Gates and Allen were more excited about implementing the BASIC high-level programming language for a PC. -When IBM asked Gates for an OS for the IBM PC, Gates immediately jumped at the opportunity=FALSE. Gates declined, sending IBM to another company. When that deal did not work out, IBM returned to Gates. -Microsoft wrote DOS for the IBM PC=FALSE. Microsoft purchased DOS from another company and thus did not create the software that would eventually turn them into a major company. -Early versions of Windows were built on top of DOS=TRUE. Breaking from DOS was hard and thus for years the most widely used OS in the world, Windows, was based on a rather weak OS that was originally named Quick and dirty operating system...WTF??? >Apple, Jobs, NeXT, and Mac OS X Another OS story is how Apple's pushing out of and then rehiring 11 years later of founder Steve Jobs led to Apple's popular Mac OS X operating system. Steve Jobs and Stephen Wozniak were friends in the early 1970's. Jobs and Wozniak founded Apple Computer in 1976 to build personal computers, a new and exciting kind of computer at the time. The Apple IIe was introduced in 1983 and cost $1,395 USD. Apple developed an OS for Apple computers, known as Mac OS, to accompany Apple's computers. Apple became a billion-dollar company by the mid-1980's. However, Windows PC's dominated the market, and Jobs clashed with other Apple executives about the company's future directions. This situation prompted Apple's board to strip Jobs of most duties; without duties, Jobs resigned. After leaving Apple, Jobs founded a new company called NeXT Computer. (During that time, Jobs also co-founded Pixar, the animated movie company responsible for Toy Story and other hugely-popular movies). NeXT developed an OS named NeXTSTEP based on Unix, to run on Next computers. NeXT was not particularly successful. However, by 1996 Apple was nearing bankruptcy, so Apple bought NeXT and brought back Jobs. NeXTSTEP formed the basis for Apple's new OS called Mac OS X, which is the main OS for Apple's computers today. TRUE/FALSE -Steve Jobs has led Apple since he co-founded the company in 1976=FALSE. In 1985, Apple's board stripped Jobs of all important duties. Jobs thus resigned, returning 11 years later in 1996. -Apple developed Mac OS X in house in 1996=FALSE. Apple bought Jobs company Next and based Mac OS X on the NextStep OS. -Mac OS X is based on Unix=TRUE. Unix is the basis for several modern operating systems, including Mac OS X, Android, and Linux. -Upon being pushed out in 1985 of the company he had co-founded, Jobs did little until returning to Apple in 1996=FALSE. While deeply upset, Jobs didn't give up, but instead founed Next Computer, and also co-founded the incredibly successful animated movie company Pixar. Jobs' story is a great one of perseverance. >History of Microsoft Microsoft is a multinational computer technology corporation. The history of Microsoft began on April 4, 1975, when it was founded by Bill Gates and Paul Allen in Albuquerque.[1] Its current best-selling products are the Microsoft Windows operating system, Microsoft Office suite of productivity software, Xbox a line of entertainment of games, music and video and Bing, a line of search engines.
Chapter 4 (4.4 Being a Good OS User)
In recent years, operating systems have become much simpler and intuitive to use (in the past, a user had to know about OS commands, OS folders, device drivers, and more). However, a user can improve his/her computer experience by doing a few things—being a "good OS user." -Cleaning up a drive As a computer gets used, new files, folders, and apps begin to fill the computer's drive (also called a disk). When a drive is full, many apps won't run properly and/or will complain because most apps need to create new files while running. Similarly, a nearly-full drive may cause apps to run slowly, as the apps and OS struggle to find drive space. Thus, a good OS user should occasionally remove unneeded files, folders, and apps, known as cleaning up a drive. Deleting largest items first is logical. A user might copy less needed items to a portable drive or cloud storage before deleting. -Over time, the drive may become full. Moving files to the trash or recycle bin does not actually delete files from the drive. A user must empty the trash to delete files from the drive. -The best way for a user know whether a drive is nearly full? Most operating systems allow a user to see what percent of a drive is filled. Occasionally run an OS app that reports drive usage. If the system runs slow it can be due to apps, shut them down if you don't want to reboot the computer. Use task manager or activity manager. Or could also use a backup to store drive such as flash drives, and the cloud. -To clean up a drive, a user might start by deleting unneeded movie files. -If a drive has 600 gigabytes (600 billion bytes) available for user files, and a typical movie uses 3 gigabytes, how many movies can be stored? 600 GB / (3 GB/movie) = 200 movies. That's a lot, but users often fill up drives anyways. -Web browsers may make local copies of image files to speed loading for subsequent visits to the same web page. Image files can be large, even several megabytes, so making local copies reduces time spent waiting for the images to arrive over the Internet. >Quitting running apps A user commonly doesn't quit previous apps before running another app. A multitasking OS may continue to run those previous apps, which occupy valuable CPU time and memory, causing the user's current app to run slowly. Thus, a good OS user takes time to occasionally quit unused apps. Note: Each tab or window of a web browser may act as a unique application, so closing unused tabs helps. Minimized apps still consume CPU and memory.Quitting unused apps can improve the performance of a currently running app by giving that app more CPU and memory to work with. An explicit quit may be needed. -Some operating systems provide a monitoring app to help determine which apps are using the most CPU or memory. Guided by this information, a user can know which apps to quit. Ex: Mac OS X provides the Activity Monitor app, Windows the Task Manager app, and Unix the top app, for seeing each app's CPU and memory usage. Such a monitoring app may refer processes. A process (also known as task) is an independently running program, perhaps a user's app, or an OS app, or part of a larger app (one app may run several processes). -Some apps have a memory leak: The longer the app runs, the more memory the app uses, even though the app doesn't really need the additional memory. Memory leaks are caused by certain bugs in the app, but apps aren't perfect so leaks are common. Leaks are especially noticeable in web browsers, which tend to be left running without quitting for long periods. Thus, a user may find that quitting and restarting an app, perhaps every few days, results in less memory usage and thus faster-running apps. -A typical user quits an app (rarely). Most users just hide or minimize the app. After using a computer for several days or weeks, dozens of apps may all be running, which can slow the computer. -Occasionally, a good OS user may wish to quit apps not currently in use. Quitting an app tells a multitasking OS that the app should no longer be run alongside other apps. -Even if in use, restarting an app (such as a web browser) every so often may be a good idea due to memory leaks. Apps have bugs. Some apps use more memory the longer the app has been run, even though the app doesn't really need that memory. -When deciding what apps to quit by examining each app's memory usage, the user might first consider quitting apps using the most memory. If an app is using a lot of memory, then other apps will run more slowly due to having less available memory. >Backups A backup file is a copy of a file intended as a replacement in case the original file is lost. Backup files are important, because files are lost quite commonly, such as when: • A user accidentally deletes a file. • A user accidentally overwrites a file with different content. • An app with a bug corrupts a file during a save such that the file can't be re-opened. • A computer is stolen, or damaged due to falling in water, being dropped, etc. A good user thus makes backups. A manual backup involves a user intentionally copying files to another location. That other location should be separate from the file's drive, such as a USB drive or an external hard drive, or a location in the cloud. The cloud is useful due to less chance of one incident damaging both the original file and the backup, such as theft, or a fire. Common cloud places for backups include Google Drive and Dropbox. An automated backup system makes regular backups of a user's files, either as the files are updated, or on a schedule like daily or weekly. Example automated backup systems include Apple's Time Machine, Google Drive, and Dropbox. For the common case of a user accidentally deleting a needed file, many operating systems don't really delete the file from the drive, but rather move the file to a special folder called trash or a recycle bin. The user can thus recover an item from the trash. Every so often, a user may need to empty the trash, to free up space on a drive. A common and usually very upsetting situation is that a user cannot access a drive's files to a hardware failure or a corruption of the drive's data causing the OS to fail to find files. However, the files may still be retrievable from the drive. Some software applications specifically search the drive for recoverable files (which may require connecting the drive to another computer that can run that software). Some companies also specialize in recovering files from failed drives, though such services are often costly. Drive failures are quite common. About 5% of hard drives fail within 3 years; for drives from some manufacturers, the rate is 20% (source). A good OS user expects such failures and thus makes backups. TRUE/FALSE -Backing up files is a waste of time=(FALSE). Files are commonly deleted or damaged. Like using seatbelts, making backups can be annoying but can ultimately save users time (especially near deadlines) and heartache. -To protect in case of computer theft, a user should copy files from one folder to another folder on the computer's drive=(FALSE). If the computer is stolen, both files would be lost. A better backup approach uses a separate drive kept in a different location as the computer, in the cloud for example. -Users can configure automated backup systems to automatically backup files on a hourly, daily, or weekly basis=(TRUE). Automated systems help ensure files are backed up on a timely basis. Even then, however, users might consider also making manual backups of really important items, because automated systems fail too -If a file is accidently deleted, then the file is permanently lost=(FALSE). Many operating systems move deleted files to the trash or recycle bin. Users must manually empty the trash to delete files.
Chapter 4 (4.2. Common Operating Systems) *Know Text-based interface vs. graphical user interface *Various operating systems: Mac OS X, iOS, Android.
1970s-1980s=Early operating systems were text-based. Users would type commands. 1980s-1990s=Operating systems evolved to have simple graphical interfaces, including a mouse for pointing and clicking. 1990s-2000s=The graphical interfaces improved dramatically, including rich colors, images, and functionality. 2000s-2020s=Recent operating systems abandon keyboards and mice and instead have users do work by touching the screen and by using various multi-finger gestures. -Unix is an OS developed in the late 1960's by AT&T Bell Laboratories, focusing on multi-user support, and written in the C high-level language rather than assembly to ease implementations on different computers. Unix is text based, requiring typing to view, copy, move, or delete files or folders, or to run programs. -MS DOS was introduced in 1981 by Microsoft as a relatively simply OS for PCs, which were new at that time. MS DOS was text based. -Linux is a version of Unix developed in the early 1990's by Finnish college student Linus Torvalds, with Linux popular today due in part to being free and open-source, and with people around the world continuing development. Linux was originally text based; popular Linux versions today like Ubuntu have a graphical interface. -Windows is a graphical OS developed by Microsoft in the mid-to-late 1980s. Windows was originally a simple graphical interface to MS DOS, but later versions were developed new without MS DOS and with powerful graphical features. Most popular is Windows!!!!! -Mac OS X is a graphical OS developed by Apple in the early 2000's, based on the Unix OS. Mac OS X was preceded by early Mac OS versions dating back to 1984, which were not Unix-based. - iOS is a graphical OS developed by Apple in 2007 for Apple smartphones and tablets. A key iOS feature is that most user operations involve touching the screen, using multiple fingers and gestures (like swiping or pinching), rather than typing or using a mouse. iOS has some Unix basis. -Android is a graphical OS released by Google in 2007 for smartphones and tablets, based on the Linux OS. Android also emphasizes interactions via screen touches. >A History of Windows It's the 1970s. We rely on typewriters. If we need to copy a document, we likely use a mimeograph or carbon paper. Few have heard of microcomputers, but two young computer enthusiasts, Bill Gates and Paul Allen, see that personal computing is a path to the future. In 1975, Gates and Allen form a partnership called Microsoft, it begins small, but has a huge vision—a computer on every desktop and in every home. During the next years, Microsoft begins to change the ways we work. The dawn of MS‑DOS In June 1980, Gates and Allen hire Gates' former Harvard classmate Steve Ballmer to help run the company. The next month, IBM approaches Microsoft about a project code-named "Chess." In response, Microsoft focuses on a new operating system—the software that manages, or runs, the computer hardware and also serves to bridge the gap between the computer hardware and programs, such as a word processor. It's the foundation on which computer programs can run. They name their new operating system "MS‑DOS." Apple has been building operating systems since 1984, when it launched the original Mac System 1.0 for its MacIntosh personal computer.
Chapter 4 (4.1 OS Basics) Notes -Single tasking vs. Multitasking -Single-user vs. Multi-user -Plug and Play
>Basics An application (or just app) is a program that a user runs to carry out a user task like listening to music or surfing the web. To carry out a task, an application may have to interact with a keyboard, mouse, screen, USB device, WiFi, etc. The details of such interactions may be complex, involving specific writing/reading sequences of particular memory locations. Ex: On one computer, printing to the screen may involve writing data to memory locations 57, 58, and 59; on another kind of computer, to locations 3041, 3042, and 3043. To ease application programming, an operating system (or OS) is itself a program that implements the detailed interactions with hardware (among other things), presenting an application program with a more abstract interface like "Display '6' to the screen". With such abstraction, the same application program can run without modification on different kinds of computers, a feature known as portability. Common operating systems include WIndows, Mac OS X, and Linux for desktop computers, and iOS and Android for tablets and smartphones. -The OS is between the application and hardware. -The OS implements the detailed interactions with hardware components. >File management A user usually wishes to maintain files. A file is a collection of information stored somewhere on a drive, such as a music file, movie file, word processing file, or an application. A user may wish to organize files using folders. A folder is a grouping of files or other folders, that helps a user organize items. A role of an OS is to manage files and folders, keeping track of such items' locations on a drive, making such items visible to a user, and allowing a user to open files or run apps. >An OS Manages Files and Folders for a user 1-Users create many files. The OS stores files in a file system. 2-A flat file system is difficult for a user to organize files. Users create folders to store files. 3-The OS maintains links between files and folders on the drive. 4-Files and folders can be stored on multiple drives. Most operating systems provide some way for a user to see what folder/file/app items exist on a drive, as well as to move, delete, or create new items, or to find items whose name or contents match certain words. For example, Mac OS X and Windows both show some file/folder/app items on the OS's main graphical view known as the desktop. Furthermore, Mac OS X provides an application named Finder, and Windows provides Windows Explorer, for users to manage folder/file/app items. Several types of files are common, such as PDF files (for formatted documents), and JPEG files (for images). Different file types typically have a different abbreviation after the file name's period, aka filename extension, such as myfile.pdf for a PDF file. The extension informs users and applications of the file's type. -PDF=A PDF file, short for Portable Document Format, describes formatted text/graphics suitable for viewing and printing, independently of apps like a word processor, web browser, etc. PDF is an open standard (previously proprietary to Adobe Systems). PDF files are usually for viewing/printing only and are not edited by a user, but rather are produced by another app like a word processor. -A Microsoft Office document file is used by the Microsoft Word (.docx), PowerPoint (.pptx), and Excel (.xlsx) apps to save each apps' files in a way suitable for later editing. *.docx *.ppt *.xlsx -An executable file is an application; executables for Windows typically end with .exe. -Movie=A media file stores a picture (jpg/png), video (mp4, mov), audio (mp3), or other media item. *.jpg *.png, *.mp4 *.mov *.mp3
Chapter 6 (6.3 Social Networking) and (6.4 Email Basics)
A social networking site connects people, via common A social networking site connects people, via common interests, backgrounds, real-life connections, etc. Such sites typically support ways for a user to add new connections, to post information for a user's connections to see, to see information posted by a user's connections, and to contact connections individually. Some sites focus on connections between friends, others on connections between professionals. Prior to social networking sites growth starting in the early 2000's, contacting other people via the Internet was primarily via direct email between individuals, emails sent to larger mailing lists, or posts to public "discussion boards" or "newsgroups". Sharing photos or videos was especially cumbersome. Today, people's daily life activities, photos, videos, thoughts, job experiences, and more are readily "published" to friends or the world via social networking sites, as well as being searchable by Internet users (subject to user-configured privacy settings). *Friendster was one of the first large social networking sites, started in 2002, mostly for gamers. Inspired by Frienster's success, another early large social networking sites was started in 2003, called myspace, with an emphasis on music. In 2006, myspace.com was the most visited website in the U.S. (source). Both sites have only modest popularity today. *Facebook is the most widely-used social networking site and the largest that focused on connecting friends who share items like photos, videos, thoughts, invitations to events, and more. A Facebook user creates an account, and then asks existing users to become friends (and accepts other users' friend requests), after which the user can post items for friends and can see friends' posts. *Facebook was developed in [2004] by Harvard student Mark Zuckerberg, initially for connecting Harvard students. Additional universities were added during the subsequent two years, first Stanford, Yale, and Columbia, then most U.S. and Candian universities, and then more international universities. In 2006, Facebook became available to anyone over age 13 with an email address. In terms of users, Facebook is one of the fastest growing large companies in history, with over 1 billion monthly users in 2014. Facebook's 2014 revenue of $12.5 billion are primarily via advertising to users. *Twitter is a social network site whose users send and read short 140-character messages called "tweets." The 140-character limit came originally from that limit imposed on cell phone text messages, where early tweets were sent/read. Twitter was created in 2006, in part by New York University student Jack Dorsey. Part of Twitter's popularity stems from short connections with people throughout the day, including not just with friends/family but with celebrities like Ashton Kutcher (an early and avid tweeter), who tweet on what they just did, how they feel, etc. User can choose to follow other users, or to follow specific discussion topics. A hashtag (ex: #GlobalWarming) labels a tweet as belonging to a particular discussion topic, such that users can receive tweets on that topic. Such persistent connectivity with a network of people was not available previously. Today, tweets can include photos and other media, beyond just text. Companies, politicians, celebrities, and others use tweets to make public announcements or to respond to news events. According to Twitter.com, about 500 million tweets were sent per day in 2015. Twitter's user base is large but thus far revenues are not as big as other Internet companies. Most revenues come from advertisements shown to users. *LinkedIn is a social networking site intended primarily for professionals to share background and qualifications with other professionals and with companies, akin to an online resume. A user creates an account and then connects with other users. A common LinkedIn usage is for a user to search their network of connections for contacts at a particular company of interest (perhaps for a business deal), or for people with particular skills (perhaps as a potential hire). Unlike many Internet companies, LinkedIn's revenues are not primarily from advertising. Rather, in 2013, more than 50% of LinkedIn's revenues came from companies paying to have access to lists of users, typically for recruiting purposes. About 25% came from advertising to users. Another 20% came from user's upgrading from a free account to a premium account that yields special privileges (like sending a message to a user to whom one is not yet connected) and information access. >6.4 Email Basics Email (short for electronic mail) is a message sent via computer from a user to other users, containing mostly text but sometimes containing additional items like images or attached documents. Email predates the web and even predates the Internet, with early forms in the 1960's and 1970's. In 2015, the most popular email systems included Gmail, Yahoo, Hotmail, Outlook, and AOL. Among those, Gmail is the relative newcomer, starting in 2004, but in 2015 having the largest number of users. Gmail became popular in large part due to boasting large amounts of storage (so users would not need to delete emails to avoid using up available storage), due to excellent email search, and a good spam filter. Those email systems are mostly free to users, typically supported by advertising that appears alongside emails. Modern email systems keep messages on a server; a user can then access those email messages from various devices. IMAP is a common protocol for retrieving email messages via the Internet (short for Internet Message Access Protocol). An IMAP server's name commonly starts with imap, as in imap.gmail.com. Systems usually use a separate server for sending email. SMTP (Simple Mail Transfer Protocol) is an Internet protocol for sending email. An SMTP server's name commonly starts with smtp, as in smtp.gmail.com. Reading an email does not automatically delete the message from the email server=True. An IMAP server enables a user to view email content stored on the mail server. The message is not downloaded from the mail server to the user's device, and is instead kept on the email server. Basic parts of an email -To=The main recipient or recipients. -The cc (carbon copy) email field indicates additional recipients: People to whom the email isn't directly intended, but who may want/need to see the email anyways.cc -The bcc (blind carbon copy) email field indicates additional recipients whose email addresses will not be revealed to any other recipients (neither the To, cc, or bcc recipients). -The subject email field summarizes an email's topic. Tip: Subjects should be precise. Ex: "Question regarding Nov. 14 visitors" is preferred over the imprecise "Question" or "Visitors". Tip: Distinct topics should be in distinct emails, to avoid topics being overlooked or hard to find later. -The body of an email contains the main content. Tip: A short body is more likely to be read. Tip: Putting key points first helps ensure key points are read. -An email auto-signature is text automatically added to the end of an email, typically including a person's name, position, company, and/or contact information. A reply is a response to an email message. Normally, a reply goes only to the sender. However, an email replier can select reply all (or group reply) to ensure all recipients on the To and cc list receive the reply. A common mistake is to fail to use reply all when all recipients should have received the reply. Ex: A manager emails five workers asking for a volunteer to do a task; Stan replies that he will start the task, but doesn't use reply all so his coworkers remain unaware that he has started the task. Another common mistake is to use reply all when the reply should have only gone to the sender. Ex: A department accountant emails 10 employees asking for monthly salary information. Fred replies with his monthly salary amount, but used reply all, thus unintentionally sharing his salary with his coworkers. Note: The accountant might have used bcc to reduce the chance of such an unintentional reply to all. Most email systems allow a sender to specify a reply to email address, which can differ from the sender's email address. When a receiver replies, the reply will be addressed to that reply to address. Most email systems can group emails into threads. A thread is a group of emails having the same subject. As such, a user replying to an email should avoid changing the subject text. Conversely, if a user is sending multiple emails, the user may wish to vary the subjects to avoid having the emails be grouped. (*cc) When letters were handwritten, carbon paper was sometimes sandwiched between two sheets of regular paper. Wherever writing pressure was applied on the first sheet, carbon would print on the second sheet, thus creating a carbon copy of what was written on the first sheet.
Types of Operating Systems (Single/vs./Multi User)
There are generally four types, based on the types of computers they control and the sort of applications they support. The categories are: •Real-time operating system (RTOS) - Real-time operating systems are used to control machinery, scientific instruments and industrial systems. An RTOS typically has very little user-interface capability, and no end-user utilities, since the system will be a "sealed box" when delivered for use. A very important part of an RTOS is managing the resources of the computer so that a particular operation executes in precisely the same amount of time, every time it occurs. In a complex machine, having a part move more quickly just because system resources are available may be just as catastrophic as having it not move at all because the system is busy. •Single-user, single task - As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system. •Single-user, multi-tasking - This is the type of operating system most people use on their desktop and laptop computers today. Microsoft's Windows and Apple's MacOS platforms are both examples of operating systems that will let a single user have several programs in operation at the same time. For example, it's entirely possible for a Windows user to be writing a note in a word processor while downloading a file from the Internet while printing the text of an e-mail message. •Multi-user - A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn't affect the entire community of users. Unix, VMS and mainframe operating systems, such as MVS, are examples of multi-user operating systems.
Operating System Development
*The computer in a typical modern cell phone is now more powerful than a desktop computer from 20 yrs ago, so this progression makes sense and is a natural development. The purpose of an operating system is to organize and control hardware/software so that the device it lives in behaves in a flexible but predictable way. For desktop systems, access to a LAN or the Internet has become such an expected feature that in many ways it's hard to discuss an operating system without making reference to its connections to other computers and servers. Operating system developers have made the Internet the standard method for delivering crucial operating system updates and bug fixes. Although it's possible to receive these updates via CD or DVD, it's becoming increasingly less common. In fact, some entire operating systems themselves are only available through distribution over the Internet. Further, a process called NetBooting has streamlined the capability to move the working operating system of a standard consumer desktop computer -- kernel, user interface and all -- off of the machine it controls. This was previously only possible for experienced power-users on multi-user platforms like UNIX and with a suite of specialized applications. NetBooting allows the operating system for one computer to be served over a network connection, by a remote computer connected anywhere in the network. One NetBoot server can serve operating systems to several dozen client computers simultaneously, and to the user sitting in front of each client computer the experience is just like they are using their familiar desktop operating system like Windows or Mac OS.
5 questions from midterm
1) In a spreadsheet, a (function) like average is a pre-built set of instructions. 2) A (PDF) is a file format for storing documents that can be viewed on and printed from nearly any device. 3) An email (filter) is an automatic tool that monitors incoming email and takes specified actions. 4) Data (integrity) refers to the accuracy of data in a database. 5)An (automated) backup system makes regular backups of user's files, such as every week.
Chapter (4.5 Device Drivers) *Know plug-and-play. Plug in device and it automatically is ready to play with because it's configured for you.
A computing system is typically a combination of hardware, like a screen and keyboard, and software, like an operating system (OS) and applications. The OS portions that interface with hardware are often called device drivers. Ex: Upon connecting a new printer (hardware) with a computer, the OS may require installation of device driver software so that the OS can send proper print commands to the printer. Modern computing systems (especially tablets and smartphones) often come with built-in device drivers or install device drivers automatically, but sometimes a user (especially of desktop or laptop computers) must deal directly with installing or updating a device driver. -Sometimes a user may need to install a device driver to print to a printer. An OS may have several device drivers for interfacing with various hardware devices. Sometimes a user must search for and install device driver software. FACTS -A device driver is software that interfaces with a hardware device like a screen, keyboard, or printer. Modern OS'es usually hide device drivers from users, but occassionally a user must install a new device driver. -A device driver for a printer might send print commands that are specific to a particular printer. Different printers may use different commands to print the letter A, for example. -The "device" in device driver refers to hardware. Devices include screens, keyboards, printers, mice, touchpads, speakers, microphones, cameras, flash drives, Bluetooth headsets, and more. -The "driver" in device driver most likely refers to how device driver software controls hardware. The device "driver" controls the hardware the way a car "driver" controls a car. -A device driver prevents application developers from having to create applications that interface directly with hardware=TRUE. In early days of computing, applications were closely tied to specific hardware. Today, device drivers allow applications to run on a wide variety of hardware platforms; the OS carries out the detailed interfacing with hardware.
Multitasking
A multitasking OS supports running multiple applications seemingly simultaneously, akin to a chef stirring the sauce a bit, then shaking a frying pan a bit, then stirring again, then shaking again, etc. To a user, multiple applications like a music player and a web browser appear to be running simultaneously, but in fact the OS is running a little bit of each application at a time, switching thousands of times per second. -A user may wish to run multiple applications at the same time. -The OS runs a little of each application, switching between applications. -The OS switches between applications thousands of times per second, apps appear to run simultaneously. Some computers have multiple simultaneous users, such as a server computer. A multi-user OS is a multitasking OS that runs multiple users' applications, keeping each user's apps and files separate, and switching among them fast enough (typically thousands of times per second) to give the user the illusion of being the only user on the computer. Desktop operating systems like Windows and Mac OS X also support multi-users but are commonly used by a single user. An operating system is a special program with various duties, such as interfacing with hardware (providing a more abstract view to apps), managing files and folders, and running multiple apps seemingly simultaneously (multitasking) for one or more users. -Hardware interfacing=Hide complex details of interacting with hardware devices like a keyboard, screen, mouse, drive, USB, network, etc. The OS portions that interface with hardware are often called device drivers. -File management=Allow users to create and organize files, keeping track of file locations on a drive. -Multitasking=Support multiple applications running seemingly simultaneously, but actually running a bit of each app one at a time, switching thousands of times per second. For multiple users, the OS keeps each user's items separate from other users' items. -The OS interfaces w/the keyboard and other hardware, presenting a more abstract interface to an app. -An OS provides a mechanism for a user to create and maintain files. The OS keeps track of file locations on a drive, usually allowing groupings into folders to help the user organize files. -Running multiple apps simultaneously is known as multitasking. The OS is responsible for switching between apps. -Each user is given the illusion of being the server's only user. The server's OS quickly switches among users, thousands of times per second.
Chapter 5 (5.1 Word Processing) *Know web based applications. Know what font is and font size.
A word processor is a common computer application for creating formatted text. Formatted text refers to features of a document like margins, text size, bold text, italicized text, colors, number of columns, etc. Popular word processors include Microsoft Word and Google Docs. A word processor creates a file that stores text plus formatting information, typically using a special filename extension like myfile.docx for Microsoft Word. In contrast, a text file only stores text without any formatting information, and typically has a filename extension like myfile.txt. Simple apps like Notepad (for Windows) or TextEdit (for Macs) can edit text files. Beyond formatting, a modern word processor also supports insertion of drawings and images. - A word processor allows a user to format text, insert images, and more. TRUE/FALSE -A word processor is a file that contains formatted text=FALSE. A word processor is a computer application that can create, view, and edit such a file. -Some examples of formatted text include bolded text or italicized text=TRUE. Formatting generally refers to how the text appears. -A word processor typically outputs a file with a .txt extension=FALSE. The .txt extension is usually for a text file, which doesn't have formatting information. Note: A user of a word processor can choose to save as a text file, but doing so strips away all formatting information. -A user doesn't have Internet at the moment but wishes to type the text of an email message, and will later copy-and-paste the text into an email program. The user can use a text editor=TRUE. A text editor is a simple, faster app than a word processor, so is commonly used for typing basic text items like an email message, a grocery list, etc. A word processor uses a cursor, typically a vertical blinking line, to indicate where a user's next-typed text will appear. The user can move the cursor using a mouse or finger, or using a keyboard's arrow keys. A word processor typically has icons or menu items that allow a user to format text, such as bold, italics, or underline. The user can first select some text (e.g., using a mouse), and then change the text's format. Or, the user can place the cursor somewhere, select an icon (which then appears as "on"), and begin typing. TRUE/FALSE -If a user places the cursor, selects the Bold icon, and starts typing, the typed text will be bold=TRUE. That approach is one way to format text. The user can click the Bold icon again to unselect the icon, so subsequently-typed text won't be bold. -If a user types text that is not italicized but then decides to italicize that text, the typically approach is to delete the text, select the Italics icon, and retype the text again=FALSE. Instead, the user can just select the text (by double-clicking, or click-and-dragging), and then click the Italics icon. -If text is underlined, that text cannot also be bolded=FALSE. Any combination of bold, italics, and underline is possible. - "Cursor" refers to an indicator of where the user's next-typed text will appear=TRUE. A cursor is typically a blinking vertical line. A word processor gives a user the ability to choose a text's font. Font refers to particular text style features, such as the shape, thickness, and spacing of text characters. Commonly-used fonts include Arial, Times New Roman, and Courier New, illustrated below. Characters in Arial font have smooth straight lines. Times New Roman font uses varied line-widths, including tiny lines at the tips of characters known as serif. Courier New font uses equal-width plain-looking characters that were common on manual typewriters several decades ago. Note that the horizontal space per character varies in the first two fonts (e.g., an i takes less space than an h). A font's size refers to the maximum height of any character. Font size is typically expressed in points (abbreviated pt), where a point is 1/72 of an inch. The most common font sizes for documents (like a cover letter, resume, book, etc.) is about 12 pt. Titles or headings (as in a book) are typically larger, such as 14 pt. A footnote might be 8 pt. A word processor user typically sets a document's normal font and font size, which applies to the entire document. The user can change the font or size of specific text in the document too.
Process Control Block
All of the information needed to keep track of a process when switching is kept in a data package called a process control block. The process control block typically contains: •An ID number that identifies the process •Pointers to the locations in the program and its data where processing last occurred •Register contents •States of various flags and switches •Pointers to the upper and lower bounds of the memory required for the process •A list of files opened by the process •The priority of the process •The status of all I/O devices needed by the process Each process has a status associated with it. Many processes consume no CPU time until they get some sort of input. For example, a process might be waiting for a keystroke from the user. While it is waiting for the keystroke, it uses no CPU time. While it's waiting, it is "suspended". When the keystroke arrives, the OS changes its status. When the status of the process changes, from pending to active, for example, or from suspended to running, the information in the process control block must be used like the data in any other program to direct execution of the task-switching portion of the operating system. This process swapping happens without direct user interference, and each process gets enough CPU cycles to accomplish its task in a reasonable amount of time. Trouble can begin if the user tries to have too many processes functioning at the same time. The operating system itself requires some CPU cycles to perform the saving and swapping of all the registers, queues and stacks of the application processes. If enough processes are started, and if the operating system hasn't been carefully designed, the system can begin to use the vast majority of its available CPU cycles to swap between processes rather than run processes. When this happens, it's called thrashing, and it usually requires some sort of direct user intervention to stop processes and bring order back to the system. One way that operating-system designers reduce the chance of thrashing is by reducing the need for new processes to perform various tasks. Some operating systems allow for a "process-lite," called a thread, that can deal with all the CPU-intensive work of a normal process, but generally does not deal with the various types of I/O and does not establish structures requiring the extensive process control block of a regular process. A process may start many threads or other processes, but a thread cannot start a process. So far, all the scheduling we've discussed has concerned a single CPU. In a system with two or more CPUs, the operating system must divide the workload among the CPUs, trying to balance the demands of the required processes with the available cycles on the different CPUs. Asymmetric operating systems use one CPU for their own needs and divide application processes among the remaining CPUs. Symmetric operating systems divide themselves among the various CPUs, balancing demand versus CPU availability even when the operating system itself is all that's running. If the operating system is the only software with execution needs, the CPU is not the only resource to be scheduled. Memory management is the next crucial step in making sure that all processes run smoothly.
Operating system
For other devices, an operating system creates the ability to: serve a variety of purposes •interact with users in more complicated ways •keep up with needs that change over time All desktop computers have operating systems. The most common are the Windows family of operating systems developed by Microsoft, the Macintosh operating systems developed by Apple and the UNIX family of operating systems. In any device that has an operating system, there's usually a way to make changes to how the device works. One of the reasons operating systems are made out of portable code rather than permanent physical circuits is so that they can be changed or modified without having to scrap the whole device. At the simplest level, an operating system does two things: 1. It manages the hardware and software resources of the system. In a desktop computer, these resources include such things as the processor, memory, disk space and more (On a cell phone, they include the keypad, the screen, the address book, the phone dialer, the battery and the network connection). 2. It provides a stable, consistent way for applications to deal with the hardware without having to know all the details of the hardware. The first task, managing the hardware and software resources, is very important, as various programs and input methods compete for the attention of the central processing unit (CPU) and demand memory, storage and input/output (I/O) bandwidth for their own purposes. In this capacity, the operating system plays the role of the good parent, making sure that each application gets the necessary resources while playing nicely with all the other applications, as well as husbanding the limited capacity of the system to the greatest good of all the users and applications. The second task, providing a consistent application interface, is especially important if there is to be more than one of a particular type of computer using the operating system, or if the hardware making up the computer is ever open to change. A consistent app program interface (API) allows a software developer to write an app on one computer and have a high level of confidence that it will run on another computer of the same type, even if the amount of memory or the quantity of storage is different on the two machines. One of the challenges facing developers is keeping their operating systems flexible enough to run hardware from the thousands of vendors manufacturing computer equipment. Today's systems can accommodate thousands of different printers, disk drives and special peripherals in any possible combination.
File System
In computing, a file system (or filesystem) is used to control how data is stored and retrieved. Without a file system, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into individual pieces, and giving each piece a name, the information is easily separated and identified. Taking its name from the way paper-based information systems are named, each group of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system". There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more. Some file systems have been designed to be used for specific applications. For example, the ISO 9660 file system is designed specifically for optical discs. File systems can be used on many different kinds of storage devices. Each storage device uses a different kind of media. The most common storage device in use today is a hard drive whose media is a disc that has been coated with a magnetic film. The film has ones and zeros 'written' on it sending electrical pulses to a magnetic "read-write" head. Other media that are used are magnetic tape, optical disc, and flash memory. In some cases, such as with tmpfs, the computer's main memory (RAM) is used to create a temporary file system for short-term use. Some file systems are used on local data storage devices; 1)others provide file access via a network protocol, 2) SMB, or 9P clients). Some file systems are "virtual", in that the "files" supplied are computed on request (e.g. procfs) or are merely a mapping into a different file system used as a backing store. The file system manages access to both the content of files and the metadata about those files. It is responsible for arranging storage space; reliability, efficiency, and tuning with regard to the physical storage medium are important design considerations.
User Interface
Just as the API provides a consistent way for applications to use the resources of the computer system, a user interface (UI) brings structure to the interaction between a user and the computer. In the last decade, almost all development in user interfaces has been in the area of the graphical user interface (GUI), with two models, Apple's Macintosh and Microsoft's Windows, receiving most of the attention and gaining most of the market share. The popular open-source Linux operating system also supports a graphical user interface. There are other user interfaces, some graphical and some not, for other operating systems. Unix, for example, has user interfaces called shells that present a user interface more flexible and powerful than the standard operating system text-based interface. Programs such as the Korn Shell and the C Shell are text-based interfaces that add important utilities, but their main purpose is to make it easier for the user to manipulate the functions of the operating system. There are also graphical user interfaces, such as X-Windows and Gnome, that make Unix and Linux more like Windows and Macintosh computers from the user's point of view. It's important to remember that in all of these examples, the user interface is a program or set of programs that sits as a layer above the operating system itself. The same thing is true, with somewhat different mechanisms, of both Windows and Macintosh operating systems. The core operating-system functions -- the management of the computer system -- lie in the kernel of the operating system. The display manager is separate, though it may be tied tightly to the kernel beneath. The ties between the operating-system kernel and the user interface, utilities and other software define many of the differences in operating systems today, and will further define them in the future.
Processor Management
The heart of managing the processor comes down to two related issues: •Ensuring that each process and application receives enough of the processor's time to function properly •Using as many processor cycles as possible for real work The basic unit of software that the operating system deals with in scheduling the work done by the processor is either a process or a thread, depending on the operating system. It is processes, rather than applications, that the operating system controls and schedules for execution by the CPU. In a single-tasking system, the schedule is straightforward. The operating system allows the application to begin running, suspending the execution only long enough to deal with interrupts and user input. Interrupts are special signals sent by hardware or software to the CPU. It's as if some part of the computer suddenly raised its hand to ask for the CPU's attention in a lively meeting. Sometimes the operating system will schedule the priority of processes so that interrupts are masked -- that is, the operating system will ignore the interrupts from some sources so that a particular job can be finished as quickly as possible. There are some interrupts (such as those from error conditions or problems with memory) that are so important that they can't be ignored. These non-maskable interrupts (NMIs) must be dealt with immediately, regardless of the other tasks at hand. While interrupts add some complication to the execution of processes in a single-tasking system, the job of the operating system becomes much more complicated in a multi-tasking system. Now, the operating system must arrange the execution of applications so that you believe that there are several things happening at once. This is complicated because the CPU can only do one thing at a time. Today's multi-core processors and multi-processor machines can handle more work, but each processor core is still capable of managing one task at a time. In order to give the appearance of lots of things happening at the same time, the operating system has to switch between different processes thousands of times a second. Here's how it happens: •A process occupies a certain amount of RAM. It also makes use of registers, stacks and queues within the CPU and operating-system memory space. •When two processes are multi-tasking, the operating system allots a certain number of CPU execution cycles to one program. •After that # of cycles, the operating system makes copies of all the registers, stacks and queues used by the processes, and notes the point at which the process paused in its execution. •It then loads all the registers, stacks and queues used by the second process and allows it a certain number of CPU cycles. •When those are complete, it makes copies of all the registers, stacks and queues used by the second program, and loads the first program.
Device Management
The path between the operating system and virtually all hardware not on the computer's motherboard goes through a special program called a driver. Much of a driver's function is to be the translator between the electrical signals of the hardware subsystems and the high-level programming languages of the operating system and application programs. Drivers take data that the operating system has defined as a file and translate them into streams of bits placed in specific locations on storage devices, or a series of laser pulses in a printer. Because there are such wide differences in the hardware, there are differences in the way that the driver programs function. Most run when the device is required, and function much the same as any other process. The operating system will frequently assign high-priority blocks to drivers so that the hardware resource can be released and readied for further use as quickly as possible. Managing all the resources of the computer system is a large part of the operating system's function and, in the case of real-time operating systems, may be virtually all the functionality required. For other operating systems, though, providing a relatively simple, consistent way for applications and humans to use the power of the hardware is a crucial part of their reason for existing.
Memory Storage and Management
When an operating system manages the computer's memory, there are two broad tasks to be accomplished: 1.Each process must have enough memory in which to execute, and it can neither run into the memory space of another process nor be run into by another process. 2.The different types of memory in the system must be used properly so that each process can run most effectively. The first task requires the operating system to set up memory boundaries for types of software and for individual applications. In most computers, it's possible to add memory beyond the original capacity. For example, you might expand RAM from 1 to 2 gigabytes. This works fine, but can be relatively expensive. It also ignores a fundamental fact of computing -- most of the information that an application stores in memory is not being used at any given moment. A processor can only access memory one location at a time, so the vast majority of RAM is unused at any moment. Since disk space is cheap compared to RAM, then moving information in RAM to hard disk can greatly expand RAM space at no cost. This technique is called virtual memory management. Disk storage is only one of the memory types that must be managed by the operating system, and it's also the slowest. Ranked in order of speed, the types of memory in a computer system are: •High-speed cache -- This is fast, relatively small amounts of memory that are available to the CPU through the fastest connections. Cache controllers predict which pieces of data the CPU will need next and pull it from main memory into high-speed cache to speed up system performance. •Main memory -- This is the RAM that you see measured in megabytes when you buy a computer. •Secondary memory -- This is most often some sort of rotating magnetic storage that keeps applications and data available to be used, and serves as virtual RAM under the control of the operating system. The operating system must balance the needs of the various processes with the availability of the different types of memory, moving data in blocks (called pages) between available memory as the schedule of processes dictates.
Computer Operating Systems
When you turn on the power to a computer, the first program that runs is usually a set of instructions kept in the computer's read-only memory (ROM). This code examines the system hardware to make sure everything is functioning properly. This power-on self test (POST) checks the CPU, memory, and basic input-output systems (BIOS) for errors and stores the result in a special memory location. Once the POST has successfully completed, the software loaded in ROM (sometimes called the BIOS or firmware) will begin to activate the computer's disk drives. In most modern computers, when the computer activates the hard disk drive, it finds the first piece of the operating system: the bootstrap loader. The bootstrap loader is a small program that has a single function: It loads the operating system into memory and allows it to begin operation. In the most basic form, the bootstrap loader sets up the small driver programs that interface with and control the various hardware subsystems of the computer. It sets up the divisions of memory that hold the operating system, user information and applications. It establishes the data structures that will hold the myriad signals, flags and semaphores that are used to communicate within and between the subsystems and applications of the computer. Then it turns control of the computer over to the operating system. The operating system's tasks, in the most general sense, fall into six categories: •Processor management •Memory management •Device management •Storage management •Application interface •User interface While there are some who argue that an operating system should do more than these six tasks, and some operating-system vendors do build many more utility programs and auxiliary functions into their operating systems, these six tasks define the core of nearly all operating systems. Next, let's look at the tools the operating system uses to perform each of these functions.
Chapter 5 (5.2 Spreadsheet Basics) and (5.3 Presentation App Basics) *Know 3 types of data that can be entered into a spreadsheet cell: ◦Text ◦Number ◦Formula ◾Functions ◾Cell ranges •Automatic Re-calculation
A spreadsheet application is a common computer application for representing tables of data like text or numbers, for using formulas to calculate data from other data (like sums or averages), and for creating graphical charts from data. A spreadsheet contains cells organized into columns labeled A, B, ... and rows labeled 1, 2, ...; a spreadsheet user can type data in each cell. *FORMULA: An important spreadsheet feature allows a user to type a formula in a cell to compute that cell's value based on other cells' values. The formula begins with = followed by a math expression using operators like +, -, *, /, and parentheses (). Another cell's value can be included using that cell's row letter and column number, as in: = 3 * A1. >5.3 Presentation app basics A presentation app is a computer application used to create a slideshow of text and graphics, often with animation. A slideshow consists of a series of individual "slides". Work or school presentations are often accompanied by a slideshow to help the audience visualize information. Popular presentation apps include PowerPoint, KeyNote, Impress, and Google Slides (part of Google Docs) Presentation files are stored using special filename extensions such as .ppt, .pptx, .odp, or .key. Presentation apps typically contain three types of tools: 1. Editing tools enable users to add static elements such as slides, formatted text, figures, and graphics. 2. Animation tools give movement to static elements. Users specify a timed list of animation effects such as appearing, disappearing, or changes in position within the slide. 3. Presentation tools display the completed slideshow, typically by connecting a cable to a projector that displays on a large screen. Presentation apps may also contain multimedia tools to enable the integration of audio or video within a slideshow. The slides should have a consistent looking feel. TRUE/FALSE -Presentation apps are used to create a series of slides. Presentation apps enable users to edit, animate, and display slideshows. -A presentation app contains animation tools used to add movement to text and graphics. Animation tools enable users to create a timed list of effects, such as move or rotate, applied to text and graphics elements within a slide. -Report.txt is likely created by a presentation app=FALSE. PowerPoint uses the file extension .ppt or .pptx, OpenOffice Impress uses .odp, and Keynote uses .key. *Presentation apps contain a library of slideshow themes consisting predefined color palettes, backgrounds, and text formatting to provide a cohesive style throughout the presentation. If no theme is selected, then slides will default to a white background and default text formatting. A toolbar displays a strip of icons corresponding to available operations. In Google Docs' presentation app, the plus sign icon adds new slides to the slideshow. Other presentation apps may use different icons. Users can choose to create a new slide from a set of templates. A slide master is a template that stores theme information and defines the layout of text boxes, colors, fonts, and formatting. A set of slide masters can be defined for common slide types, such as Title slides or Title and Body slides. As a new slide is added to the slideshow, the new slide is copied from the slide master and takes on the same layout and formatting of the slide master. Any change to the slide master is applied universally to all copies within the slideshow. TRUE/FALSE -A theme is applied to an individual slide=FALSE. Themes provide a consistent feel by defining color palettes and backgrounds used by all slides within the slideshow. -Changes to the layout of an individual slide within the slideshow will update the layout of all other slides=FALSE. On the other hand, changes to a master slide will impact copies of that slide type. -Specifies the layout of text boxes and other elements, from which new slides are based upon=SLIDE MASTER. Themes specify the overall look and feel of the slideshow. Slide masters are a group of templates used to create new slides that copy the same layout as the slide master. -Formatted text can be added to nearly any location within the slide=TRUE. A user can add a new text box using the toolbar icons, then drag the text box to the desired location. Formatting options such as font coloring or size can be applied to the text. -Slides are restricted to contain text boxes and graphics in the original template=FALSE. Templates provide a convenient starting point to create new slides. Users can modify slides by adding new text and graphics, as well as modify elements from the template. -Users can add and modify shapes such as circles, squares, and triangles=TRUE. A library of shapes, arrows, callouts, and equation symbols are available to choose from. -Photos can be added to a slide=TRUE. The toolbar contains an icon to insert an image. Users can choose to use an image from a library or add their own photos. Try 5.3.1: Presentation app: Adding slides and formatted text The animation tool contains a library of effects that give movement to text and graphics. Fade in causes an object to gradually appear. Fly in causes an object to appear beyond the slide's margin to the original location. Zoom in increases the size of the object from very small to the original size. The library of animation effects and animation tool interface varies with the presentation app. Users specify the timing of each animation effect. On click executes the effect when the user clicks the mouse. After previous automatically executes the effect once the previous animation effect is completed. With previous executes the animation with the previous effect, grouping animation actions together into a single effect. The speed of each effect can also be configured. Animation effects also apply to slide transitions. As the slideshow progresses from one slide to the next, slides can dissolve, rotate, or move to reveal the next slide. Transition effects vary with the presentation app. Presentation tools display the completed slideshow. A computer is typically connected to a projector to display the final slideshow. Mouse clicks or keyboard commands advance the slides and animation effects. Presentation tools often provide additional tools to users. Controls on the computer enable a users to jump to a particular slide, exit presentation mode, among others. Speakers can annotate slides in the editing tools, then display the notes during the slideshow. Presentation tools are not visible to audience members. TRUE/FALSE -Users must click through slides 1 through 6 to get to slide 7=FALSE. Presentation tools provide an option to "jump to" a particular slide. -The presenter view may differ from the audience view=TRUE. Additional tools such as speaker notes are not visible to the audience.
Chapter 6 (6.5 Email Issues) and (6.6 Text Messages)
Email is a key component of modern work. Workers spend nearly a third of time writing and reading email (applies to "knowledge" workers who make up nearly half of U.S. workers, as opposed to manual labor or service workers like store clerks, waiters, mechanics, etc.). Knowledge workers commonly receive and reply to more than 100 emails per day (Source: Forbes). Knowledge workers spend about 10% of the workday managing email=FALSE. Studies show that knowledge workers spend about a third of the workday managing email, which in a 40 hour workweek translates to about 13 hours a week on email alone. Further, email interruptions cause loss of focus; research shows 10-15 minutes is required to refocus on a task. With email search tools being very powerful today, many people recommend not spending much time manually archiving messages into folders or applying labels. However, automated filters that archive or apply labels may help. Filters can help a user deal with large volumes of mail. An email filter is a automatic tool that monitors incoming email and takes a specified action. A common filter looks for a particular user or subject, and automatically archives the email into a folder or applies a category label. Ex: Sue might create a filter that automatically applies a "Family" filter to emails coming from her siblings or parents. Most email systems have spam filters that automatically archive email into a spam folder. With email search tools being very powerful today, many people recommend not spending much time manually archiving messages into folders or applying labels. However, automated filters that archive or apply labels may help. Filters can help a user deal with large volumes of mail. An email filter is a automatic tool that monitors incoming email and takes a specified action. A common filter looks for a particular user or subject, and automatically archives the email into a folder or applies a category label. Ex: Sue might create a filter that automatically applies a "Family" filter to emails coming from her siblings or parents. Most email systems have spam filters that automatically archive email into a spam folder. Many email systems support a form of filter called a vacation message, wherein any incoming emails will automatically receive a reply containing a user specified message, such as "Auto-reply: I am away from email until July 23." Given the importance of email and an expectation of receiving replies, a person who will be away from email during normal work days (or whose responses may be slow, perhaps if at a multi-day conference) may wish to turn on a vacation message. The number of email messages received per day is becoming a problem for many workers. The overhead associated with email management can be reduced by following a few guidelines: -Unsubscribe to infrequently read lists and newsletters:Deleting infrequently read lists and newsletters consumes time. Unsubscribing requires just a few seconds and can reduce the daily number of emails that need attention. Most mass-sent emails contain an unsubscribe link at the bottom. -Check email less frequently:Email notifications and alerts can be distracting. Turning notifications and alerts off, and instead setting aside one or two time slots a day to process email can help workers to improve productivity and limit distractions. -Consider the most appropriate format:A phone call or an online meeting can be more effective and save time compared to a long email discussion. -Choose a consistent method to organize email: Some professionals advocate the use of well-organized, hierarchical folders to quickly find email. Other professionals believe that folders are less productive because workers spend a significant amount of time later on searching through folders for old emails. Workers should choose an organization system that best suits the worker's preferences and work style. Some emailing has been replaced by text messaging. A text message (or SMS for short message service) is a short message sent among cell phone users. A text message containing characters from the Latin alphabet is limited to 160 characters. Hundreds of billions of text messages are sent per month. Younger generations use text messaging or other messaging systems rather than emails. In 2012, U.S. teenagers sent over 60 text messages per day on average. TRUE/FALSE -A typical (knowledge) worker spends more time sending text messages than emails=FALSE. Email occupies nearly a third of a worker's time. Text messaging, while used in the workplace also, does not occupy nearly as much time. -Email use among teenagers exceeds text message use=FALSE. Texting is far more popular among teenagers than emailing. Young workers may have to significantly adjust writing style when joining the workforce to create appropriate emails. >6.6 Text messages A text message (or just text; also SMS for short message service) is a short message sent among cell phone users. A text message containing characters from the Latin alphabet is limited to 160 characters. A text message containing characters from other alphabets, such as Chinese, Arabic, or Cyrillic is limited to 70 characters. A user can send a longer message by sending multiple text messages. A text message is transmitted via the cellular network. The text message is sent from the user's cell phone to the nearest cell tower, and then to an SMSC. An SMSC (or short message service center) is responsible for storing and delivering text messages. The SMSC forwards the text message to the cell tower nearest to the recipient and delivers the text message to the recipient's cell phone (keeping a copy at the SMSC). Cell phone service providers originally created text messages for assumedly rare occasions. However, text message popularity grew tremendously, taking many service providers by surprise. In 2014, monthly text messages numbered over 500 billion. Some people (especially teenagers) may send hundreds per day. In 2012, the average teen sent 60 text messages per day. An SMS-based text message is limited to text. Later protocols were developed to provide support for text messages with images and sound. MMS (multimedia messaging service) is a popular method used to send multimedia-based text messages containing text, pictures, video, and audio. MMS enabled cell phones are backwards compatible and support both MMS and SMS text messages. Unlike email, users must pay for text messaging. Service providers may charge users based on the number of user-originated messages or based on the total number of messages sent and received. Service providers may also differentiate between SMS and MMS text messages. Ex: A cell phone plan may contain unlimited SMS text messages, but limit the number of MMS text messages. However, many plans today include unlimited texting.
Application Program Interface
Just as drivers provide a way for applications to make use of hardware subsystems without having to know every detail of the hardware's operation, application program interfaces (APIs) let application programmers use functions of the computer and operating system without having to directly keep track of all the details in the CPU's operation. Let's look at the example of creating a hard disk file for holding data to see why this can be important. A programmer writing an app to record data from a scientific instrument might want to allow the scientist to specify the name of the file created. The operating system might provide an API function named MakeFile for creating files.
What is the Finder?
The Finder is the app that helps you navigate all of the files and folders on your Mac. The Finder lets you browse your apps, disks, files, and folders in a variety of ways. You can use the Finder to organize these items the way you want. You can also use the Finder to search for items, delete files you no longer want, and more. Finder windows To open a new Finder window, click the Finder icon in the Dock, then select File > New Window. The first window you may see in the Finder is All My Files. This is a special window that shows you all of the documents that you have access to on your Mac.